我設法繞過try catch塊, 嵌套多個線程。在這種情況下,try catch被繞過java?
是否存在一些規則,它在何處被記錄,當try catch塊被異常繞過?
try{
Runnable r = new Runnable() {
@Override
public void run() {
System.out.println("Thread");
Display.getDefault().syncExec(new Runnable() {
@Override
public void run() {
System.out.println("ThreadGUI");
throw new NullPointerException();
}
});
}
};
Thread t = new Thread(r);
t.start();
} catch(NullPointerException e) {
//nothing
}
System.out.println("Ende");
只是因爲線程A啓動了引發異常的線程B並不意味着線程A將收到B的異常。 –
不太確定你在這裏期待什麼。異常發生在另一個線程中。 – tmyklebu
你爲什麼要在不同的線程中運行它? – ShyJ