【问题标题】:Exception handling when composing functions on a Java 8 stream在 Java 8 流上编写函数时的异常处理
【发布时间】:2014-10-20 13:44:42
【问题描述】:

对于 Java 8 和流,我真的不明白在组合多个函数时异常处理应该如何工作?

我想写以下内容:

Arrays.stream((File[]) files).flatMap(file -> Files.lines(file.toPath()));

编译器说“Files.lines(...)”处有一个未处理的 IOException

在这个语句周围加上 try catch 是行不通的,并且声明一个 throws 也不行。

【问题讨论】:

    标签: java exception stream


    【解决方案1】:

    您需要在 lambda 中捕获从 Files.lines 抛出的 IOException。

    Java 8: Lambda-Streams, Filter by Method with Exception

    【讨论】:

    • 有没有办法使用另一个线程中提到的“内联”try catch 表达式?还是我需要发明一个单独的 uncheck 方法,我认为它不是很漂亮?
    猜你喜欢
    • 2018-04-29
    • 1970-01-01
    • 1970-01-01
    • 2017-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-09
    • 1970-01-01
    相关资源
    最近更新 更多