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