后面加上return语句呢?
public void add(int index, E element){
if(size >= elements.length) {
throw new RuntimeException("顺序表已满,无法添加");
昨天在工作
中遇到一个问题:我需要调公司另外一个模块来获得数据,这个模块返回的是n*n矩阵式的数据,但由于我只需要这个矩阵
中的某些数据,所以我在调用代码方法
中把需要的数据整理成map并添加到list,然后返回给应用处理方法。在应用处理的代码
中,我只对返回的list进行null和size!=0判断,并
抛出可能的
异常,但我并没有考虑到这个矩阵里面有的格子数据本身是null的情况,也就是说单个map的空指针
异常导致了我的应用处理方法里面也会
抛出异常,相当于处理模块没法用了,这就导致了刷出来的数据减少了90%。
今天在做一个登录逻辑判断的时候,在一个for循环里,抛出了一个自定义异常,然后for循环就直接被跳出了……???这是我没想到的地方,我忍不了,死活就要让for循环继续执行下去。于是再我死钻牛角尖两个多小时以后,得出了一个很不想接受的结论:在for循环里面抛自定义异常,for循环一定会结束。
下面是牛角尖代码:
//userArrayList是一个存放所有用户信息的集合
//这里遍历集合,拿出每一个用户进行id(账号)和pwd(密码)的比较
for (User users : userArrayList) {
在Java中,如果你想要在for循环中遇到异常并直接跳过本次循环的剩余部分,而不是终止整个循环,你可以使用`continue`关键字。当在一个`try-catch`块中捕获到异常时,可以这样做:
```java
for (int i = 0; i < someArray.length; i++) {
try {
// 这里是可能会抛出异常的代码
processItem(someArray[i]);
} catch (Exception e) {
// 捕获到异常,跳过本次迭代
System.out.println("遇到异常,跳过当前元素 " + i);
continue;
// 如果没有异常,执行后续代码
// doSomethingElse(i);
在这个例子中,如果`processItem()`方法抛出了异常,程序会打印一条消息表示跳过了该元素,并继续执行下一次循环,直到遍历完整个数组。这样可以保证即使有异常,也不至于中断整个循环,而是选择忽略某些特定情况并继续后续操作。