Какой самый чистый способ закрыть все потоки после того, как поток встречает необработанное исключение?Я хочу сделать это в случае, когда поток, вероятно, находится в несогласованном состоянии, и запуск других потоков или запуск процесса бесполезен.
System.exit
- это один из способов, т. Е. Следующим образом:
Thread t = new Thread(new MyRunner());
Thread.UncaughtExceptionHandler eh = new Thread.UncaughtExceptionHandler() {
public void uncaughtException(Thread t, Throwable e) {
System.out.println("2");
System.exit(0);
}
};
t.setUncaughtExceptionHandler(eh);
t.start();
Есть ли причина не делать этого?