系统级错误:主要用于系统产生的错误
package com.xyy.config.exception;
public class SystemException extends RuntimeException{
private static final long serialVersionUID = -601766030687951565L;
public SystemException(String message) {
super(message);
}
public SystemException(Throwable cause){
super(cause);
}
public SystemException(String message, Throwable cause){
super(message, cause);
}
}
全局异常处理
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import com.config.web.mvc.AjaxResult;
import com.config.web.mvc.BaseController;
@RestControllerAdvice
public class GlobalExceptionHandler extends BaseController{
private Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class);
@ExceptionHandler(value={RuntimeException.class,SystemException.class,Exception.class})
public AjaxResult unauthorized(Exception exception, HttpServletRequest request){
logger.error("全局异常捕捉通知 ",exception);
if(exception instanceof BusinessException){
return ajaxResult(Status.ERROR,exception.getMessage());
}
return ajaxResult(Status.ERROR, "请求失败,请重试");
}
}