Re: [問題] 寫程式style的問題(有關exception)

看板java作者 (隱者)時間19年前 (2006/05/27 18:05), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/7 (看更多)
※ 引述《jgpnsgm (哼!)》之銘言: : ※ 引述《GP03.bbs@aeug.twbbs.org (Gundam Pilot)》之銘言: : : 說文解字: Exception 叫做例外 : : 既然你知道args[0]有可能出錯就是"意料之中的事" : : 所以請不要把他當"意外狀況"去處理 : : 攔截exception的代價不算小 : : 但是也不是在"每一個"method接收args時都要去驗證是否正確 : : 會做太多次無謂的判斷 : 看起來有點怪怪的,言下之意 : Exception 是要拿去處理"意料之外"的"意外狀況" : 可是既然是意料之外我們怎麼會去想要處理呢? : 我的概念不知道有沒有問題, : 之前看書的印象是, : Exception可以把一些繁複的資料檢查(if elase...etc)簡化 : 並且可以throw到function之外再處理(使用if會更麻煩) : 可是如文中所說,catch Exception會導致效率下降(原因是?比if else還慢?) : 所以會有種能不用catch就不用catch的觀念 : 或是儘量把Exception throw到上幾層來catch(個人以為這樣會比較快?) 如果你是寫library @"@ throw就可以了 如果你是寫product 那你不catch沒有人去catch就囧了.. : 也就是說當一個statement或是function要執行for或是while之類的loop時 : 把try catch拉到loop之外來處理,應該會比在loop內try-catch快吧? 這裡的理由,我忘了。有沒有人有practical java幫忙翻一下>"< : 個人的想法,不知道是否正確。 : 另外,個人認為Exception比較適合用在一些Critical Error, : 程式無法再繼續run下去的時候 : 這時就突顯了Exception可以throw出function之外來處理的特性 : 如果程式可以在function自行修正錯誤,用一般的if來做判斷就可以了 : 不過,個人認為其實不用太在意performance的問題, : 因而不用Exception,以軟體工程的角度來看, 還有一種聲音是,俺從沒有遇到那些輕微到以修復的Exception 還要去throws去try catch實在很orz 乾脆全噴log,出包了再來查 : Performance Tune是在程式正確完成之後才開始的, : 何況我覺得Java最大的效能問題是卡在GC, : 如果真正要講performance還是使用native code來做吧.... 同感 : 個人想法 : 若有錯誤還請不吝指正 : 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.59.94.148
文章代碼(AID): #14U2HHvS (java)
文章代碼(AID): #14U2HHvS (java)