Mad*_* CM 4 java java-8 java-stream
是否支持在Collectors.toMap中处理自定义异常.我在Collector.toMap中调用一个抛出MyException的方法.它可以在调用函数pupulateValues()中重新抛出吗?为了演示,我使用下面的代码重新抛出MyException但无法通过.我的目标是在main方法中处理MyException.
public static void main(String[] args){
try {
pupulateValues();
} catch (MyException e) {
// do something
e.printStackTrace();
}
}
private static void pupulateValues() throws MyException{
Map<String,String> map = new HashMap<>();
map.put("asdf", "asdf");
map.put("ss", "fff");
map.put("aaaaaa", "aaaaaaa");
Map<String,String> map2=map.entrySet().stream().collect(
Collectors.toMap(entry->entry.getKey(),entry-> {
try {
return getCert(entry.getValue());
} catch (MyException e) {
// TODO Auto-generated catch block
throw new MyException();
}}));
}
static String getCert(String val) throws MyException {
if(val == null) {
throw new MyException("Some exception");
}
return val;
}
Run Code Online (Sandbox Code Playgroud)
你有几个选择:
MyException一个未经检查的例外catch (MyException e) { throw new RuntimeException(e); }| 归档时间: |
|
| 查看次数: |
813 次 |
| 最近记录: |