Tag: 抛出

我如何声明一个函数参数来接受抛出的函数?

我在Kotlin中定义了一个函数: fun convertExceptionToEmpty(requestFunc: () -> List<Widget>): Stream<Widget> { try { return requestFunc().stream() } catch (th: Throwable) { // Log the exception… return Stream.empty() } } 我已经用这个签名定义了一个Java方法: List<Widget> getStaticWidgets() throws IOException; 我试图把它们写成这样: Stream<Widget> widgets = convertExceptionToEmpty(() -> getStaticWidgets()) 当我编译我得到这个错误: 错误:(ln,col)java:unreported exception java.io.IOException; 必须被逮捕或宣布被抛出 我如何定义我的函数参数来接受抛出的函数?