java8 foreach 异常_错误处理 – 在java 8流foreach中抛出异常
我正在使用
java 8流,我不能在流的foreach中拋出異常.
stream.forEach(m -> {
try {
if (isInitial) {
isInitial = false;
String outputName = new SimpleDateFormat(Constants.HMDBConstants.HMDB_SDF_FILE_NAME).format(new Date());
if (location.endsWith(Constants.LOCATION_SEPARATOR)) {
savedPath = location + outputName;
} else {
savedPath = location + Constants.LOCATION_SEPARATOR + outputName;
}
File output = new File(savedPath);
FileWriter fileWriter = null;
fileWriter = new FileWriter(output);
writer = new SDFWriter(fileWriter);
}
writer.write(m);
} catch (IOException e) {
throw new ChemIDException(e.getMessage(),e);
}
});
這是我的異常課程
public class ChemIDException extends Exception {
public ChemIDException(String message, Exception e) {
super(message, e);
}
}
我正在使用記錄器來記錄上層的錯誤.所以我想將異常拋到頂部.謝謝
最佳答案 嘗試改為擴展RuntimeException.為foreach提供的方法不具有throwable類型,因此需要運行時可拋出的東西.
警告:這可能不是一個非常好的想法
但它可能會奏效.
總結
以上是生活随笔為你收集整理的java8 foreach 异常_错误处理 – 在java 8流foreach中抛出异常的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (DAG+固定终点的最长路和最短路)硬币
- 下一篇: java socket调用接口_java