Re: [問題] 寫程式style的問題(有關exception)
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 7 篇):
java 近期熱門文章
PTT數位生活區 即時熱門文章