package com.gkhy.safePlatform.config.exception; import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.commons.exception.AusinessException; import com.gkhy.safePlatform.commons.exception.BusinessException; import com.gkhy.safePlatform.commons.vo.ResultVO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; @ControllerAdvice public class GlobalExceptionHandler { private final Logger logger = LoggerFactory.getLogger(this.getClass()); /** * 自定义异常 */ @ResponseBody @ExceptionHandler(value = AusinessException.class) public ResultVO AHandler(AusinessException e) { logger.warn(e.getMessage()); return new ResultVO(e.getCode(),e.getMessage()); } /** * 通用异常 */ @ResponseBody @ExceptionHandler(value = BusinessException.class) public ResultVO AHandler(BusinessException e) { logger.warn(e.getMessage()); return new ResultVO(e.getError()); } /** * 系统错误异常 */ @ResponseBody @ExceptionHandler(value = Exception.class) public ResultVO errorHandler(Exception e) { e.printStackTrace(); logger.error(e.getMessage()); return new ResultVO(ResultCodes.SERVER_ERROR); } }