Re: [問題] Exception
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):