gpt4 book ai didi

java - 从另一个线程捕获异常?

转载 作者:行者123 更新时间:2023-12-02 08:52:51 24 4
gpt4 key购买 nike

我正在编写一个将使用多线程的应用程序。有一个主线程正在启​​动另一个线程。我想要完成的是,当启动的线程之一抛出异常时,主线程应该停止启动线程。它看起来或多或少像这样:

class SomeClass {
boolean launchNewThread = true;
public static void main() {
while (launchNewThread) {
try {
AnotherClass.run();
} catch (CrossThreadException e) {
launchNewThread = false;
}
}
}
}

class AnotherClass implements Runnable {
public void run() {
if (a=0) throw new CrossThreadException();
}

}

最佳答案

您应该自己做 - 捕获异常并以某种方式将其传递到启动线程中。

此外,还有Future概念,它已经做到了。您应该将线程作为 future 启动并检查 isDone(),并从 get() 捕获 ExecutionException,如果 future 的任务抛出异常。

关于java - 从另一个线程捕获异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8096087/

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