docs似乎在说它们是相同的,这是正确的解释吗?
当协程作业的主体抛出异常时,协程作业被称为异常完成;通过调用CompletableJob.completeExceptionally.com异常完成CompletableJob,异常完成的作业被取消,相应的异常成为作业取消的原因。
作业的正常取消与其失败的区别在于导致其取消的异常类型。引发CancellationException的协同程序被视为正常取消。如果取消原因是不同的异常类型,则该作业被视为失败。当作业失败时,其父级将被取消,但出现相同类型的异常。从而确保将作业的一部分委托给其子作业时的透明度。
1条答案
按热度按时间kb5ga3dv1#
我对the documentation的理解如下:
现在关于棘手的部分是关于结束之前完成一项工作
正常取消
https://pl.kotl.in/HpSW-5Jgd?theme=darcula
失效
https://pl.kotl.in/KNjyynfvw
答案
那么关于你的问题:
https://pl.kotl.in/miTSI972L
希望这有帮助:)