![a9f9b9b89c2391306cca612ea64adeaa.png](https://i-blog.csdnimg.cn/blog_migrate/88958075c8252a4c7f0a5d0b5b741c5e.jpeg)
线上代码不要使用printStackTrace()
写完代码后请一定要检查下,代码中千万不要有printStackTrace()。因为printStackTrace()只会在控制台上输出错误的堆栈信息,他只适合于用来代码调试。
真正需要记录异常,请使用日志记录。
永远不要在catch块中吞掉异常
catch (NoSuchMethodException e) {
return null;
}
永远不要不处理异常,而是返回null,这样异常就会被吞掉,无法获取到任何失败信息,会给日后的问题排查带来巨大困难。
在需要的地方声明特定的受检异常
![07937c399cf63416c6f78a1574dc84de.png](https://i-blog.csdnimg.cn/blog_migrate/03398da9b409f0510b1e2686098aa5ad.png)
一定要尽量避免上面的代码,因为他的调用者完全不知道错误的原因到底是什么。
在方法声明中,可以由方法抛出一些特定受检异常。如果有多个,那就分别抛出多个,这样这个方法的使用者才会分别针对每个异常做特定的处理,从而避免发生故障。
public void foo()