gpt4 book ai didi

java - 有没有办法让 Runnable 的 run() 抛出异常?

转载 作者:IT老高 更新时间:2023-10-28 13:17:08 29 4
gpt4 key购买 nike

我在 run() 中调用的方法在实现 Runnable 的类中) 旨在引发异常。

但 Java 编译器不允许我这样做,并建议我用 try/catch 将其包围。

问题在于,通过用 try/catch 包围它,我使 特别 run()无用。我确实想抛出那个异常。

如果我为 run() 指定 throws编译器本身会提示 Exception 与 Runnable.run() 中的 throws 子句不兼容

通常我完全可以不让 run()抛出异常。但我有一个独特的情况,我必须拥有该功能。

如何解决这个限制?

最佳答案

您可以使用 Callable而是将其提交给 ExecutorService并等待结果 FutureTask.isDone()ExecutorService.submit() 返回.

isDone()返回 true 你调用 FutureTask.get() .现在,如果您的 Callable抛出了 Exception然后 FutureTask.get()将抛出 Exception也可以使用 Exception.getCause() 访问原始异常.

关于java - 有没有办法让 Runnable 的 run() 抛出异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11584159/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com