前言
对于应用程序来说, 出现异常是非常正常的现象, 需要对异常进行简化处理
- 业务处理中, 尽量不处理异常, 出现异常, 直接抛出, 交由异常处理程序去处理
- 不要吞异常
- 避免重复记录日志: 若异常由自身抛出, 则自身不打印异常日志, 交由异常处理程序记录
业务要求
人性化的提示信息
- 提示信息不要用程序员式的提示, 不用艰涩难懂的术语, 应站在用户的角度出发, 语言浅显易懂
- 若有国际化的需求, 则提示信息需要国际化
异常发生后, 用户有些是可以自行处理的, 但是如果提示信息很糟糕, 即使用户能处理, 但用户看不懂提示, 也就无从处理了
异常处理步骤
- 以 error 级别记录异常日志, 异常日志需包含堆栈信息
- 提示信息: 人性化提示用户, 到底出了什么问题
- debug信息: 界面上最好带上 debug 的一些信息(非敏感信息)以及时间, 以便用户截图时, 能把 debug 信息和发生异常的时间让运维看到, 让运维更快速地反应
统一异常处理
spring mvc 下的异常处理
… (待续)