OEH*_*OEH 5 java consumer java-8
在 java 8 中使用消费者时有什么方法可以抛出异常吗?
例如:
private void fooMethod(List<String> list) throws Exception {
list.forEach(element->{
if(element.equals("a")) {
throw new Exception("error!");
}
});
}
Run Code Online (Sandbox Code Playgroud)
这给了我一个编译器错误:未处理的异常类型异常
在这种情况下抛出异常的正确方法是什么?
小智 5
由于 Exception 及其子类(除了 RuntimeException)是受检异常,并且在 lambda 中,您不能抛出受检异常。因此你应该使用 RuntimeException:
private void fooMethod(List<String> list) throws Exception {
list.forEach(element->{
if(element.equals("a")) {
throw new RuntimException("error!");
}
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2953 次 |
| 最近记录: |