Re: [問題] 關於例外檢查的問題

看板java作者 (痞子軍團團長)時間12年前 (2011/11/15 17:16), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/4 (看更多)
※ 引述《swatches (松鼠)》之銘言: : if( type != null && type.equals("haha") ) : output += type; : else : output += "something wrong" : 如果是用exception: : try{ : if( type.equals("haha") ) : output += type; : } catch (java.lang.NullPointerException e){ : output += "something wrong" : } : 這兩者雖然只有針對null pointer這邊做舉例 : 可是其實我還是有遇到其他更複雜的狀況 : 個人的想法是 : 如果我用條件式判斷時,可以掌握所有的情況,但是比較複雜 : 如果我用例外處理時,程式碼相對簡潔,但是不能掌握所有的判斷情況(?) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 我完全不知道你要問什麼...... Orz (可以直接用版規 4.2 嗎? [被毆飛]) 我還覺得在這個 case 上用 Exception 比較複雜...... Orz 再繼續討論之前,請先確認一下你的程式碼 這兩段程式碼是不是等意的? 在用了 Exception 的程式碼當中,要做 output+=type 要全部滿足下列條件 →type 不是 null →type 的值是 haha →output 不是 null(雖然如果 output 是 null 會炸到飛天) 而要作 output+="somthing worng" 要滿足下列條件其一 →type 是 null →output 是 null(其實還是炸 exception...) 更重要的是,也有可能 output 根本沒改變,只要全部滿足下列條件 →type 不是 null →type 的值不是 haha 在用 if-else 的程式碼當中,就只有兩個結果 要嘛 output+=type,要嘛 output+="something wrong" 條件就是全部滿足下列條件 →type 不是 null →type 的值是 haha 所以,我覺得你真要討論該用哪一個、哪一個好讀 or 不好讀之類 那先寫出完全等意的程式碼 或許才能判斷 or 在寫出來的過程當中就能發現答案 -- 錢鍾書: 說出來的話 http://www.psmonkey.org 比不上不說出來的話 Java 版 cookcomic 版 只影射著說不出來的話 and more...... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.18.7

11/16 11:04, , 1F
不好意思,下次會做一些程式碼的說明的,謝謝。
11/16 11:04, 1F
文章代碼(AID): #1EmYuBRJ (java)
文章代碼(AID): #1EmYuBRJ (java)