
Если несколько потоков приложения выбрасывают необрабатываемые исключения, приложение может выбросить их все из отдельных потоков. Это отличает многопоточные приложения от однопоточных, которые могут выбрасывать только одно необрабатываемое исключение.
class Sing extends Thread{
public void run() {
System.out.println("Singing");
throw new RuntimeException("run");
}
}
Thread sing = new Sing();
sing.start();
throw new RuntimeException("main");
Возможные варианты вывода:
/*
Singing
RuntimeException: main
RuntimeException: run
*/
/*
RuntimeException: main
Singing
RuntimeException: run
*/
/*
Singing
RuntimeException: run
RuntimeException: main
*/