文章来源:陈同学 | 异常处理实践
本文分享自己关于异常处理的理解。
良好的异常处理机制带来许多好处,例如:
准确定位
问题…...
异常信息受众有两类:人和机器
.
针对受众,各方的需求可能有:
异常预警要根据团队及业务情况来,初创团队简单处理,有余力再好好整。
有余力可以自建异常处理平台,有一套异常处理流程,有个炫酷且实用的Dashboard。
目前我们使用的异常处理方式,请根据红色序号
阅读:
流程简析:
例如:结合@ControllerAdvice
+ @ExceptionHandler
捕获异常,创建一个异常处理starter
让各个服务直接引用maven依赖,starter
中直接注入异常处理Bean,这样具体服务开发时不用关心异常处理,专注业务即可。同时将异常处理与业务模块解耦,便于后续拓展异常处理。
e1.解析异常码: 由网关解析异常码的好处是:具体服务只需要用枚举类定义异常状态码,不需要关心异常对应的提示信息。同时也只需要网关连接到缓存(例如:redis)
。
e3.纠正HTTP状态码:网关和具体服务之间可以通过任意状态码通讯,但到网关时必须将HTTP状态码调整为HTTP标准状态码
出于以下几个考虑,使用了网关来处理异常:
这个思路和AOP的理念有点类似
上面扯了很多异常效果,下面展示下我们团队的邮件预警效果(数据无实际意义,拼凑而成):
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。