static void test() {
try {
System.out.print(x.toString() + " ");
}
finally { System.out.print("finally "); }
}
public static void main(String args[])
{
try
{
test();
}
catch (Exception ex) { System.out.print("exception ");
}
輸出是finally exception
。應該試着總是跟着抓?
爲什麼在編譯時沒有錯誤,儘管try
後面跟着catch
在test()
?
try-catch-finally用於運行時異常而不用於編譯時錯誤 – Kris 2012-02-06 09:49:59
@Kris,不正確。檢查異常是**不是**運行時異常,'try-catch-finally'對於任何異常都是有效的。 – 2012-02-06 10:00:25
@TEG對不起,你是對的,我只想指出try-catch-finally編譯時間錯誤的有用性,我指的是程序運行時發生的所有類型的錯誤/異常,而不是編譯後的 – Kris 2012-02-06 10:11:00