看板 java 關於我們 聯絡資訊
※ 引述《tanx (arctanx)》之銘言: : 這是課本上寫的 [...] : int a=10,b=0,c; : try : { : c=a/b; : } : catch(Exception e) : { : System.out.println(e.toString()); : } [...] : 後來自己寫一個簡單的 [...] : 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()); : } [...] : //System.out.println("c="+c); [...] : 結果跟我想的不太一樣 : 我本來想說java Ex1 2 0 : 希望得到e.toString() 的error message : 結果一個東西都沒有XD : 我看課本寫說 : 當他執行偵測錯誤try block 那裡面的statement : 當執行到錯誤就會跳到對應的catch裡面 : 難道說 他沒掉到我的catch裡面嘛?   是的。 : 可是當註解拿掉 : 卻又跑出c=Infinity : 請問這是什麼原因阿?   整數除法遇到分母為零時會丟出 java.lang.ArithmeticException,   但浮點數除法則不會,   因為浮點數可以表示該運算結果,   也就是你印出 c 值時看到的無限大 (Infinity)。 : 先謝摟~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.175.159.61