成果的异常处理应该实现如下 4 个目标:
1.使程序代码混乱最小化
2.获并保留诊断信息
3.通知合适的人员
4.采用合适的方式结束异常活动
下面介绍达到这种效果的基本准则,即本文内容:
- 不要过度使用异常
- 不要使用过于庞大的 try 块
- 避免使用Catch All 语句
- 不要忽略捕获到的异常
1. 不要过度使用异常
过度使用异常主要是两个方面:

实际上,对于普通的错误,应该编写处理这种错误的代码,增加程序的健壮性。只有对外部的、不能确定和预知的运行时错误才使用异常。
此外,异常处理机制的效率比正常的流程控制效率差,所以不要使用异常处理来代替正常的程序流程控制。
例如,对于下面代码:


2. 不要使用过于庞大的 try 块
try 块里放置过多的代码,会导致 try 块里出现异常的可能性大大增加,从而导致分析异常原因的难度也增加。
正确的做法是,把大量的 try 块分割成多个可能出现异常的程序段落,并把它们放在单独的 try 块中,从而分别捕获并处理异常。
3. 避免使用Catch All 语句
Catch All 语句指的是一种异常捕获模块,它可以处理程序发生的所有可能异常。例如下面代码:

这种处理方式有如下两点不足:

实际上,Catch All 语句不过是一种通过避免错误处理而加快编程进度的机制,应尽量避免在实际应用中使用这种语句。
4. 不要忽略捕获到的异常
Catch 为空即为对异常置之不理。
建议对异常采取适当措施如:


异常处理最佳实践
1425

被折叠的 条评论
为什么被折叠?



