错误处理的推荐实践:


分类:

- 统一分类的错误字典。如HTTP的状态码
- 同类错误的定义最好是可以扩展的。
- 定义错误的严重程度。Fatal(重大错误),Error(资源或需求得不到满足)
- 错误日志的输出最好使用错误码(数字或关键字),而不是错误信息。(这样,会非常有利于日志分析软件进行自动化监控,而不是要从错误信息中做语义分析。)

优化:

- 处理错误时,总是要清理已分配的资源。
- 不推荐在循环体里处理错误
- 不要把大量的代码都放在一个 try 语句块内。
- 向上尽可能地返回原始的错误。
- 不要使用异常捕捉这样的方式来处理业务逻辑,而是应该用条件判断。

管理:

- 忽略错误最好有日志。
- 对于同一个地方不停的报错,打出一个错误以及出现的次数。
- 对于同类的错误处理,用一样的模式。比如,对于null对象的错误,要么都用返回 null,加上条件检查的模式,要么都用抛 NullPointerException 的方式处理。
- 尽可能在错误发生的地方处理错误。
- 为你的错误定义提供清楚的文档以及每种错误的代码示例。
展开
评论