一、全局异常处理类:(处理共性异常) //@RestControllerAdvice等价于@ControllerAdvice和方法上加@ResponseBody @RestControllerAdvice public class GlobalExceptionHandler{ @ExceptionHandler(Exception.class) public GlobalResponse GlobalExceptionHandle(Exception e){ if(e instanceof SQLException){ return GlobalResponse.fail("sql语言异常!"); }else if(e instanceof ServiceException){ return GlobalResponse.fail("业务层方法处理异常!"); } return null; } } 二、局部异常处理类:(处理当前类中的特性异常,局部异常处理后不进行全局异常处理) //在需要处理异常的类中添加异常处理方法 @ExceptionHandler(Exception.class) public GlobalResponse GlobalExceptionHandle(Exception e){ if(e instanceof SQLException){ return GlobalResponse.fail("sql语言异常!"); }else if(e instanceof ServiceException){ return GlobalResponse.fail("业务层方法处理异常!"); } return null; } 三、异常处理的原则: 能处理则尽量处理,不能处理则向上一层抛出;如果与用户交互相关的异常,不能直接将异常信息返回给用户,应该处理并包装异常信息后向用户返回