知识卡片
集中式异常处理解耦错误分支
内容
业务代码抛出的异常(比如”书已存在”“书未找到”)不需要在抛出的地方顺手处理成 HTTP 状态码和响应体,而是可以集中放到一个专门的处理类里,按异常类型分别声明该映射成什么状态码、返回什么消息。好处是”业务逻辑该做什么”和”这类错误对外应该长什么样”这两件事被彻底分开:改一个错误码的呈现方式不用去翻业务代码,业务代码里也不会散落着一堆 try-catch 转 HTTP 响应的样板代码。发散:这是关注点分离在错误处理上的具体体现——把分散在各处的”异常怎么变成用户看到的结果”这条逻辑收敛成一个地方维护,和路由集中管理、日志格式集中配置是同一个思路:凡是”横切关注点”,都值得从业务代码里单独摘出来。
参考来源
《Cloud Native Spring in Action》第3章《Getting started with cloud native development》