异常处理的最佳实践[转载]
之前一直对异常处理比较疑惑,通常有点随心所欲而没有规范统一的处理标准。这次的项目提供全网的基础服务,认真学习了下异常处理的规范,正好看到了下面的文章,相见恨晚
?
原文如下,主要需要掌握,分清Checked exception和Unchecked exception;保持封装性统一对外提供异常; 不做没必要的封装处理。
使用时记得finally释放资源; 不要使用异常作控制流程之用; ?处理不了的异常不要狗拿耗子,要么catch小粒度exception要么继续向上抛。
?
译者注:这是一篇2003年的文章,因为时间久远,可能有些观点已经过时,但里面讨论的大部分方法如今仍能适用。如若有其他好的错误处理的方法,欢迎留言。
异常处理的关键就在于知道何时处理异常以及如何使用异常。这篇文章,我会提到一些最佳的异常处理方法。我也会总结checked exception的用法。
我们
上面的代码会忽略掉unchecked exception。
5. 仅记录exception一次
对同一个错误的栈回溯(stack trace)记录多次的话,会让程序员搞不清楚错误的原始来源。所以仅仅记录一次就够了。
总结
这里是我总结出的一些异常处理最佳实施方法。我并不想引起关于checked exception和unchecked exception的激烈争论。你可以根据你的需要来设计代码。我相信,随着时间的推移,我们会找到些更好的异常处理的方法的。
?
?
转载自:http://blog.jobbole.com/18291/
英文原文:http://onjava.com/pub/a/onjava/2003/11/19/exceptions.html
?
?
?