考慮以下代碼:當main拋出異常時會發生什麼?
public class Test {
public static void main(String[] args) throws Exception {
mayFail();
System.out.println("This shouldn't run");
}
public static void mayFail() throws Exception{
throw new Exception();
}
}
我知道什麼時候該Exception
是throw
「N main
將終止。
我想知道的是有沒有在JVM
(或任何地方)過程的一些國王執行時發生這種情況?
編輯:
閱讀阿爾馬斯後謝赫回答我設法處理這Exception
像這樣:如果我理解它正確,這是因爲遠是不言而喻
public class Test{
public static void main(String[] args) throws Exception {
UncaughtExceptionHandler a = new UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread t, Throwable e) {
System.out.println("Uncaught Exception");
}
};
Thread.setDefaultUncaughtExceptionHandler(a);
mayFail();
System.out.println("This shouldn't run");
}
public static void mayFail() throws Exception{
throw new Exception();
}
}
所以呢?如果沒有UncaughtExceptionHandler
該程序只是終止而不做任何事情?
@Charlie你沒明白我的問題。 – 2014-12-13 15:41:39
這就是爲什麼我刪除了我的評論:I – Charlie 2014-12-13 15:41:57