作者qrtt1 (隐者)
看板java
标题Re: [问题] 写程式style的问题(有关exception)
时间Sat May 27 18:12:16 2006
※ 引述《jgpnsgm (哼!)》之铭言:
: ※ 引述《[email protected] (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