在“可完成的未来”中从lambda抛出时出现未报告的异常

在“可完成的未来”中从lambda抛出时出现未报告的异常,第1张

在“可完成的未来”中从lambda抛出时出现未报告的异常

从Java
8开始,检查异常比Java承诺的要早得多,并且不能与它们很好地配合使用。从技术上讲,BiFunction不会声明抛出任何检查异常。因此,您

findCommonMatch
传递给的
thenCombine
,也不能将其抛出。

NoMatchException
通过继承选中
RuntimeException
。还要
throws
从查找方法中删除具有误导性的声明-
它不会抛出任何东西-被封装在promise中的代码将被抛出,而不是方法创建promise。

在设计中抛出的异常对代码完全是不可见的,从而创建了它们并订阅了它们。通常,通常希望您使用未检查的异常并以特定于特定的Promise库的方式处理它们(有关其异常处理工具的详细信息,请参阅CompletionStage的文档)。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5615767.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存