异常处理规则

成功的异常处理应该实现如下4个目标:

使程序代码混乱最小化

捕获并保留诊断信息

通知合适的人员

采用合适的方式结束异常活动

 

1.不要过度使用异常:

过度使用异常主要有两个方面:

1.把异常和普通错误混淆在一起,不再编写任何错误处理代码,而是以简单地抛出异常来代替所有的错误处理。

2.使用异常处理来代替流程控制。

 

对于完全已知的错误,应该编写处理这种错误的代码,增加程序的健壮性;对于普通的错误,应该编写处理这种错误的代码,增加程序的健壮性。

只有对外部的、不能确定和预知的运行时错误才使用异常。

 

2.不要使用过于庞大的try块:

 

3.避免使用Catch All语句:

这种方式有两种不足之处:

1.所有的异常都采用相同的处理方式,这将导致无法对不同的异常分情况处理,如果要分情况处理,则需要在catch块中使用分支语句进行控制,这是得不偿失的做法。

2.这种捕获方式可能将程序中的错误、Runtime异常等可能导致程序终止的情况全部捕获到,从而“压制”了异常。

 

4.不要忽略捕获到的异常:

通常对异常采取适当措施,比如:

1.处理异常。对异常进行合适的修复,然后绕过异常发生的地方继续执行;或者用别的数据进行计算,以代替期望的方法返回值;或者提示用户重新操作。。。

2.重新抛出新异常。把当前运行环境下能做的事情尽量做完,然后进行一场转译,把异常包装成当前层的异常,重新抛出给上层调用者。

3.在合适的层处理异常。如果当前层不清楚如何处理异常,就不要在当前层使用carch语句来捕获该异常,直接使用throws声明抛出异常,让上层调用者来负责处理该异常。

posted @ 2015-03-25 23:30  KIDvs伟  阅读(311)  评论(0编辑  收藏  举报