这几天项目中都要处理异常,虽然没有什么问题,但总觉得有哪里不对,所以上网找了找专门讲异常处理的,系统的了解了下java中的异常处理机制,还是有一定帮助的。
链接:http://blog.csdn.net/hguisu/article/details/6155636
小结如下:
try 块:用于捕获异常。其后可接零个或多个catch块,如果没有catch块,则必须跟一个finally块。
catch 块:用于处理try捕获到的异常。
finally 块:无论是否捕获或处理异常,finally块里的语句都会被执行。当在try块或catch块中遇到return语句时,finally语句块将在方法返回之前被执行。在以下4种特殊情况下,finally块不会被执行:
1)在finally语句块中发生了异常。
2)在前面的代码中用了System.exit()退出程序。
3)程序所在的线程死亡。
4)关闭CPU。
但还有个疑问:在系统哪一层处理异常,比较合适?
如果写小型项目或系统,那么建议你各捕获各的异常,这样有以下优点:
1、捕获明确
2、及时捕获,减少异常的影响范围
3、减少深层捕获异常的资源消耗
如果写大项目或系统,那么建议你统一捕获各异常(例如在业务逻辑层),这样可以方便进行模块化设置,接口化处理,以获得更好的“耦合性”,因为是大项目,所以在处理异常的时候就不值得考虑以上三点的优越啦!
浙公网安备 33010602011771号