关于java 异常的捕获
基本原则: 有能力处理的时候就处理; 没有能力处理, 或者不知道怎么处理, 就抛出
比方说发短信需要重试, 一次失败可以把异常捕获住, 打印warn日志. 然后重试, 直到达到指定次数仍然失败就抛出异常
这里的有能力处理是: 打印日志重发; 没有能力处理是重试达到指定次数抛出异常
一般场景下, 异常都是直接抛出, 包括http, task, 都是抛出给最外层处理
异常的种类
ignoreExcetpion: 业务无法向下进行, 或者进入了不正常的阶段, 需要抛出业务异常
FatalException: 致命的业务错误产生了, 需要触发告警了, 需要抛出非业务异常. 比如参数不合法, 脏数据.
异常的监控
异常一般意味着问题或者风险. 需要做对应的监控. 宏观地说: 关键业务的失败, 成功, 都要加监控.