1.创建 ServiceException 类 继承 RuntimeException
/**
* 自定义异常
*/
public class ServiceException extends RuntimeException{
private int code;
public int getCode() {
return code;
}
public ServiceException(int code,String msg) {
super(msg);
this.code = code;
}
}
2.创建 全局异常处理器 GlobalExceptionHandler 类
//使用 @ControllerAdvice 注解,标记为全局异常处理器,能够捕获应用中的所有控制器抛出的异常。
@ControllerAdvice
public class GlobalExceptionHandler {
/**
* 如果输出的是ServiceException则调用该方法
* @param se 业务异常
* @return
*/
//@ExceptionHandler(ServiceException.class) 注解指定该方法用于处理 ServiceException 异常。
//Result 返回统一结果集
@ExceptionHandler(ServiceException.class)
@ResponseBody
public Result handle(ServiceException se) {
return Result.error(se.getCode(),se.getMessage());
}
}
}