使用UncheckedIOException和Stream API有什么成语/最佳实践?

yoh*_*hjp 9 java lambda java-8

Java 8正式向java.io.UncheckedIOException带有Stream API的lambda 引入JDK类库,因为lambda表达式不能声明其throws-clause和lambda体不能抛出检查过的异常等IOException.

使用UncheckedIOException和Stream API 有什么成语/最佳实践?我明确抛出新UncheckedIOException对象的条件是什么,何时应该捕获UncheckedIOException异常?

Mau*_*lin 7

您将在与当前执行它的库方法(BufferedReader.lines和Files.lines)相同的情况下抛出它:也就是说,当您打包由打开文件之后的操作导致的I/O异常时(文件打开操作仍然抛出IOException).至于捕获它,这取决于你的IO错误恢复策略:换句话说,做你做的任何事情来处理非流代码中的包装IOException.

  • @yohjp是的,从流代码中捕获/解包未经检查的异常,然后重新抛出为"IOException",如果这是你的方法无论如何都要做的,或者如果那是你的方法会做的那样处理`IOException`.PS.答案是否被接受? (2认同)