中存储的全局对象来传递处理结果,包括异常。...我们开发的业务系统,或者是产品,常常面临着这样的问题:
系统运行出错,但是完全不知道错误发生的位置
我们找到了错误的位置,但是完全不知道是因为什么
系统明明出了错误,但是就是看不到错误堆栈信息
什么情况需要自定义异常...经常看到一些项目,在全局定义一个 AppException,然后所有地方都只抛出这个异常,并且把捕获的异常case到这个AppException中.会有如下问题:
浪费log日志存储空间,并且栈顶并不是最接近发生异常的代码位置...使用文档,下面是一个简单的示例:
@ControllerAdvice(basePackages = { "com.xxx.xxx.bussiness.xxx" })
public class ModuleControllerAdvice...专有异常,多用于特定业务场景,用于描述指定作业出现意外情况无法预先处理
各类异常必须要有单独的日志记录,或者分级,分类可管理.有的时候仅仅想给三方运维看到逻辑异常。