【发布时间】:2018-08-19 11:50:15
【问题描述】:
我有一个读取 .bz2 文件的静态方法,它会抛出检查过的 IOException 和 org.apache.commons.compress.compressors.CompressorException。函数签名是:
private static MyClass readFile(String fileName) throws IOException, CompressorException{
//…
}
尝试对 Java8 流直接使用此方法会导致 Intellij 中出现编译时错误;
unhandled exceptions: java.io.IOException, org.apache.commons.compress.compressors.CompressorException
因此,根据here 等人的建议,我尝试了以下方法,但一直停留在如何处理 CompressorException 对象上。紧随其后的是ctor,我已经尝试如下,但 Intellij 仍然抱怨 CompressorException 未处理:
files.stream().forEach(i -> {
try{
readFile(i);
} catch (IOException e){
throw new RuntimeException(e);
} catch (Throwable ex){
throw new CompressorException("compressorException", ex);//error!!!
}
});
谢谢
【问题讨论】:
-
好吧,不是像处理 IOException 那样捕获它,而是抛出它。不。像处理 IOException 一样捕获它。