看板 java 關於我們 聯絡資訊
最近在寫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