ale*_*vov 5 java-8 uncaughtexceptionhandler completable-future
用例:
结果:异常永远不会被捕获,并且没有跟踪/记录它。在异步系统的情况下,这是 1) 不可取的和 2) 要发现的硬和隐藏问题(例如 NPE、Runtime Exc 等)的指标。
问题:与java.lang类比/以类似方式实现CompletableFuture.UncaughtExceptionHandler机制是否可行。Thread.UncaughtExceptionHandler?如果 CompletableFuture 链没有附加 java.util.concurrent.CompletableFuture.UniExceptionally Completion,则提供 [默认] 未捕获的异常处理程序/完成。
小智 1
简单回答是不。
然而,有人发布了一个丑陋的黑客行为,以在另一个线程中获得类似的行为: 如何处理来自 CompletableFuture.runAsync 的未捕获的异常
我通过使用 ReactiveX ( http://reactivex.io )来逃避这个问题,但这种选择可能超出你的控制范围。在这种情况下,您可以考虑为 CompletableFuture 创建一个包装类,该类始终在幕后注册异常处理程序,因此您不必再显式调用Exceptionly(..)。但同样,这只是一种解决方法。
| 归档时间: |
|
| 查看次数: |
323 次 |
| 最近记录: |