在回调中使用 "throws" 关键字
Use "throws" keyword on callback
在我下面的方法中,我在Stream<Object>
的.anyMatch()
方法的回调中使用了net.sf.extJWNL
包中的一个方法。但是,我使用的方法抛出 JWNLException
。我想对 JWNLException
.
使用 throws
关键字,而不是当前的 try-catch 块
Dictionary d = Dictionary.getDefaultResourceInstance();
List<POS> POSList =
new ArrayList<POS>(EnumSet.allOf(POS.class));
boolean isWord = POSList.stream().anyMatch(c -> {
try {
return d.getIndexWord(c, word) != null;
} catch (JWNLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return true;
}
});
此外,我无法将其移至单独的方法,因为我需要该方法的局部变量 - d
和 word
(参数)
您可能需要围绕 lambda 表达式创建一个包装器,它将处理从代码段抛出的异常。
请参考下面的link
在我下面的方法中,我在Stream<Object>
的.anyMatch()
方法的回调中使用了net.sf.extJWNL
包中的一个方法。但是,我使用的方法抛出 JWNLException
。我想对 JWNLException
.
throws
关键字,而不是当前的 try-catch 块
Dictionary d = Dictionary.getDefaultResourceInstance();
List<POS> POSList =
new ArrayList<POS>(EnumSet.allOf(POS.class));
boolean isWord = POSList.stream().anyMatch(c -> {
try {
return d.getIndexWord(c, word) != null;
} catch (JWNLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return true;
}
});
此外,我无法将其移至单独的方法,因为我需要该方法的局部变量 - d
和 word
(参数)
您可能需要围绕 lambda 表达式创建一个包装器,它将处理从代码段抛出的异常。
请参考下面的link