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

时间:2014-05-01 04:13:57

标签: java lambda java-8

Java 8正式将java.io.UncheckedIOException引入带有API API的lambda的JDK类库,因为lambda表达式不能声明其throws - 子句,并且lambda body不能抛出已检查的异常,例如{{ 1}}。

IOException和Stream API有哪些成语/最佳做法?我明确抛出新UncheckedIOException对象的条件是什么,何时应该捕获UncheckedIOException异常?

1 个答案:

答案 0 :(得分:7)

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