1、捕获了异常,就要对它进行适当的处理。不要捕获异常之后又把它丢弃,不予理睬。简单的printStackTrace不算处理;
改正方案:
a. 处理异常。针对该异常采取一些行动,例如修正问题、提醒某个人或进行其他一些处理,要根据具体的情形确定应该采取的动作。再次说明,调用printStackTrace算不上已经“处理好了异常”。
b. 重新抛出异常。处理异常的代码在分析异常之后,认为自己不能处理它,重新抛出异常也不失为一种选择。
c. 把该异常转换成另一种异常。大多数情况下,这是指把一个低级的异常转换成应用级的异常(其含义更容易被用户了解的异常)。
d. 不要捕获异常。
2、在catch语句中尽可能指定具体的异常类型,必要时使用多个catch。不要试图处理所有可能出现的异常。
3、保证所有资源都被正确释放,充分运用finally关键字。
4、在异常处理模块中提供适量的错误原因信息,组织错误信息使其易于理解和阅读。
5、尽量减小try块的体积。
6、全面考虑可能出现的异常以及这些异常对执行流程的影响。