从Java
8开始,检查异常比Java承诺的要早得多,并且不能与它们很好地配合使用。从技术上讲,BiFunction不会声明抛出任何检查异常。因此,您
findCommonMatch传递给的
thenCombine,也不能将其抛出。
请
NoMatchException通过继承选中
RuntimeException。还要
throws从查找方法中删除具有误导性的声明-
它不会抛出任何东西-被封装在promise中的代码将被抛出,而不是方法创建promise。
在设计中抛出的异常对代码完全是不可见的,从而创建了它们并订阅了它们。通常,通常希望您使用未检查的异常并以特定于特定的Promise库的方式处理它们(有关其异常处理工具的详细信息,请参阅CompletionStage的文档)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)