美文网首页Java 杂谈程序员互联网科技
异常处理的 15 个处理原则

异常处理的 15 个处理原则

作者: Java_老男孩 | 来源:发表于2019-03-07 13:49 被阅读45次

见过很多人在进行异常处理的时候,直接一个 e.printStackTrace() 就完成了,这是一种非常粗陋的做法,首先会导致应用日志的大量错误信息,而很多时候你都不知道这些错误信息因何发生;再者,反应到用户端将直接导致用户无法获取操作的结果以及失败的原因。

以下 15 条异常处理的原则来自国外的博客

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

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

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

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.为每个异常消息定义一个数值,这对好的文档来说是非常重要的。

你们有其他的补充吗?请不吝赐教。

相关文章

  • 异常处理的 15 个处理原则

    见过很多人在进行异常处理的时候,直接一个 e.printStackTrace() 就完成了,这是一种非常粗陋的做法...

  • 15 异常处理

    15.1 异常处理机制 使用try...catch捕获异常:如果执行try块里的业务逻辑代码出现异常,则系统自...

  • 异常处理设计文档

    一、异常处理流程说明 在ESB处理过程中,若发生异常,将进入异常流程的处理。一个异常处理流程大致如下: ESB处理...

  • 异常处理器

    springmvc在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻...

  • SpringMVC异常处理器

    SpringMVC在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻...

  • SpringMVC第三天上午

    1、异常处理 步骤一:定义一个异常处理类:作用:抛出所有的异常都交给这个类处理 步骤二:定义一个异常处理器...

  • 已检查异常也可在运行时抛出

    Java 异常处理的一个基本原则是, 必须为所有已检查异常提供一个处理器.不过可以利用泛型消除这个限制 在这里, ...

  • PHP学习笔记 - 进阶篇(10)

    异常处理 抛出一个异常 从PHP5开始,PHP支持异常处理,异常处理是面向对象一个重要特性,PHP代码中的异常通过...

  • 同步或异步异常处理

    同步或异步异常处理 同步读取异常处理 异步读取文件异常处理

  • 关于Exception异常处理的建议

    我们在处理异常的时候,时刻需要问自己以下三个问题: 哪里会发生异常? 谁来处理异常? 如何处理异常? 一、异常的分...

网友评论

    本文标题:异常处理的 15 个处理原则

    本文链接:https://www.haomeiwen.com/subject/jvrfpqtx.html