1.切勿捕获异常不处理
使用try-catch捕获异常后,无任何处理,这样的做法会吞噬异常,外层代码或调用方无法感知异常的发生。捕获异常后,打印错误日志,可以立即处理掉,也可以直接向外抛出或构建内部异常向外抛出,切勿无任务处理操作。
2.不要catch中捕获Exception异常
Exception代表的是异常的大类,而代码中通常需要捕获的是某某特定异常,进而进行特定的异常处理;而且,从写代码的角度来说,捕获清晰明了的特定异常会提升代码的可读性。
3.切勿使用e.printStackTrace()
e.printStackTrace()方法打印出的信息不利于跟踪出错的具体轨迹,特别是对于一些复杂的系统,所以切勿使用。
4.减小try块的范围
try-catch会影响JVM对代码进行优化,所以尽量减少try块中的代码,只对有必要的代码进行try。
5.切勿在finally块中对返回值进行操作
finally代码块一般用于收尾工作,例如释放资源、释放连接等,如果在这里有对返回值进行操作的处理,可能会被忽略。
6.有必要,才使用
每创建一个Exception实例,都会对栈信息进行快照,如果很频繁将会产生很大的开销。