java_base_exception_thought

关于java 异常的捕获

基本原则: 有能力处理的时候就处理; 没有能力处理, 或者不知道怎么处理, 就抛出

比方说发短信需要重试, 一次失败可以把异常捕获住, 打印warn日志. 然后重试, 直到达到指定次数仍然失败就抛出异常

这里的有能力处理是: 打印日志重发; 没有能力处理是重试达到指定次数抛出异常

一般场景下, 异常都是直接抛出, 包括http, task, 都是抛出给最外层处理

异常的种类

ignoreExcetpion: 业务无法向下进行, 或者进入了不正常的阶段, 需要抛出业务异常

FatalException: 致命的业务错误产生了, 需要触发告警了, 需要抛出非业务异常. 比如参数不合法, 脏数据.

异常的监控

异常一般意味着问题或者风险. 需要做对应的监控. 宏观地说: 关键业务的失败, 成功, 都要加监控.