java - 使用 java 8 foreach 循环调用方法和处理异常
问题描述
如果满足条件,我正在执行下面的代码我正在生成异常,但是即使我会得到异常,我也想跳过该循环并希望执行保留代码,所以有什么办法吗?
public class Test {
public static void main(String[] args) {
List<String> items = new ArrayList<>();
items.add("1");
items.add("2");
items.add("3");
items.add("4");
items.add("5");
try {
items.forEach(item -> getData(item));
} catch (Exception e) {
e.printStackTrace();
}
}
public static void getData(String item) {
System.out.println("====getData method called" + item + "====");
if (item.equals("1")) {
System.out.println(1 / 0);
}
}
}
解决方案
将你的try
/移动catch
到循环内?
items.forEach(item -> {
try {
getData(item);
} catch (Exception e) {
e.printStackTrace();
}
});
推荐阅读
- gnuplot - brew install gnuplot --with-qt --with-x11 不工作
- typescript - Typescript 中的泛型函数图
- node.js - Typescript instanceof 在我的 API 网关上不起作用
- laravel - Laravel MethodNotAllowedHttpException on put 动作
- javascript - 需要用 IF 语句更新 custom.js 中的 href
- java - SFTP 将文件上传到同一远程服务器上的多个目录
- c# - 自动完成字段和多项选择
- html - 应用 google web 字体后,部分背景被移除。我应该怎么办?
- python - 似乎无法初始化火花上下文 (pyspark)
- azure - Azure 逻辑应用本地数据网关不允许执行本机 SQL 查询