gpt4 book ai didi

error-handling - 在java 8流foreach中抛出异常

转载 作者:行者123 更新时间:2023-12-04 08:27:27 24 4
gpt4 key购买 nike

我正在使用 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);
}

}

我正在使用记录器来记录上层的错误。所以我想将异常抛出到顶部。谢谢

enter image description here

最佳答案

尝试扩展 RuntimeException反而。创建用于提供给 foreach 的方法没有那种类型是可抛出的,所以你需要一些运行时可抛出的东西。

警告:这可能不是一个好主意

但它可能会起作用。

关于error-handling - 在java 8流foreach中抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41177031/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com