从另一个线程捕获异常?

Bar*_*cki 2 java multithreading exception

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

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();
}
Run Code Online (Sandbox Code Playgroud)

}

kan*_*kan 10

你应该自己做 - 捕获异常并以某种方式将其传递给启动线程.

此外,还有未来的概念,它已经做到了.您要发起螺纹期货和检查isDone(),并赶ExecutionExceptionget(),这将引发异常,如果未来的任务抛出的异常.