我抛了几个异常,领导却说我代码写得好
2021-01-19 本文已影响0人
南谭一隅
前言
小时候写Java代码碰见异常要么全抛,要么全捕。没有优雅的处理过异常,自然也就谈不上利用Java优秀的异常处理机制了。
其实Java的异常处理机制是很强大的功能,用的好的话往往能起到事半功倍的效果。
1、异常包装技术
在异常处理里面再次抛出异常,若是按如下方式一抛出,则无法获取到原如异常。
而使用异常包装技术,将异常包装之后再抛出,则可以在捕获异常时可以通过异常类的方法获取到原始异常
2、解耦try/catch和try/finally语句块
代码应遵循单一职责原则,最好不要互相嵌套。
如下代码中finally只负责关闭资源,而catch中不仅捕获try中发生的异常,也捕获finally中发生的异常。
3、不要在finally中使用return
因为finally是在整个异常处理器执行完后执行,若在finally中使用了return,则最终的返回结果均是来自finally中的return。
4、使用带资源的try语句(try-with-resource)
若资源类实现了Closeable或AutoCloseable接口,则可以在try括号中初始化资源