APP下载

精心整理java异常处理的15个原则

消息来源:baojiabao.com 作者: 发布时间:2024-06-15

报价宝综合消息精心整理java异常处理的15个原则

1、不用使用异常来管理业务逻辑,应该使用条件语句。如果一个控制逻辑可通过 if-else 语句来简单完成的,那就不用使用异常,因为异常会降低程式码的可读性和效能,例如一些 null的判断逻辑、除0的控制等。

2、异常的名字必须清晰而且有具体的意思,表示异常发生的问题,例如FileNotFoundException就很清晰直观。

3、当方法判断出错该返回时应该丢掷异常,而不是返回一些错误值,因为错误值难以理解而且不够直观,例如丢掷FileNotFoundException 异常,而不是返回0或者9999之类的错误值。

4、应该捕获指定的异常,而不是catch(Exception e)了事,这对效能、程式码的可读性以及诸多方面都有好处。

5、Null的判断逻辑并不是一成不变的,当方法允许返回null的时候使用if-else控制逻辑,否则就丢掷NullPointerException。

6、尽量不要二次丢掷异常,如果非得这么做的话,丢掷同一个异常示例,而不是重新构建一个异常物件,这对效能是有帮助的,而且外层呼叫者可获取真实的异常资讯。

7、定义你自己的异常类层次,例如 UserException 和 SystemException 分别代表使用者级别的异常资讯和系统级别的异常资讯,而其他的异常在这两个基类上进行扩充套件。

8、明确的使用不同的异常日志级别:

Fatal: System crash states.

Error: Lack of requirement.

Warn: Not an error but error probability.

Info: Info for user.

Debug: Info for developer.

9、不要仅仅捕获异常而不做任何处理,不便于将来维护。

10、不要多次重复记录同一个异常,这可以让我们清晰的了解异常发生的位置。

11、请使用 finally 来释放一些开启的资源,例如开启的档案、数据库连线等等。

12、大部分情况下不建议在循环中进行异常处理,应该在循环外对异常进行捕获处理。

13、异常的粒度很重要,应该为一个基本操作定义一个 try-catch 块,不要为了简便,将几百行程式码放到一个 try-catch 块中。

14、为你的异常生成足够的文件说明,至少是 JavaDoc。

15、为每个异常讯息定义一个数值,这对好的文件来说是非常重要的。

2019-07-04 19:48:00

相关文章