作者swatches (松鼠)
看板java
標題[問題] 關於例外檢查的問題
時間Tue Nov 15 16:48:18 2011
最近在寫java時,在選擇用exception和條件式判斷時
不太明白兩者使用的時機
如果是用條件式判斷:
String type = getPara();
if( type != null && type.equals("haha") )
output += type;
else
output += "something wrong"
如果是用exception:
String type = getPara();
try{
if( type.equals("haha") )
output += type;
} catch (java.lang.NullPointerException e){
output += "something wrong"
}
這兩者雖然只有針對null pointer這邊做舉例
可是其實我還是有遇到其他更複雜的狀況
個人的想法是
如果我用條件式判斷時,可以掌握所有的情況,但是比較複雜
如果我用例外處理時,程式碼相對簡潔,但是不能掌握所有的判斷情況(?)
想問問各位有關這兩個做法的想法,如果有哪裡說錯了,還請大家幫忙糾正
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.130.36.2
→ meconin:你用FindBug 掃一下吧,改用 "haha".equals(type) 11/15 16:57
→ gwokae:不要用exception來做flow control。exception的起始是成本 11/15 21:37
→ swatches:謝謝M大,我剛裝在eclipse跑看看,還在研究中. 11/16 10:57
→ swatches:G大幫我回答到要問的問題了,我確實是在效率.可讀性.架構 11/16 11:02
→ swatches:維護上有些不明白的地方,感謝 11/16 11:03
推 TwoDemon:output += "something wrong" (少分號了) >"< ~不能跑 11/16 17:20