看板 java 關於我們 聯絡資訊
這是課本上寫的 public class Ex2 { public static void main(String[] arg) { int a=10,b=0,c; try { c=a/b; } catch(Exception e) { System.out.println(e.toString()); } finally { System.out.println("這裡一定會被執行"); } } } 後來自己寫一個簡單的 public class Ex1 { public static void main(String[] arg) { double a,b,c=0; a=Double.parseDouble(arg[0]); b=Double.parseDouble(arg[1]); try{ c=a/b; } catch(Exception e) { System.out.println(e.toString()); } finally { } //System.out.println("c="+c); } } 結果跟我想的不太一樣 我本來想說java Ex1 2 0 希望得到e.toString() 的error message 結果一個東西都沒有XD 我看課本寫說 當他執行偵測錯誤try block 那裡面的statement 當執行到錯誤就會跳到對應的catch裡面 難道說 他沒掉到我的catch裡面嘛? 可是當註解拿掉 卻又跑出c=Infinity 請問這是什麼原因阿? 先謝摟~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.169.116.152