package io.hmit.exception; import io.hmit.common.exception.ErrorCode; import io.hmit.common.exception.HmitException; import io.hmit.common.utils.Result; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; /** * 异常处理器 * * @author zsh 408538940@qq.com * @since 1.0.0 */ @RestControllerAdvice public class HmitExceptionHandler { private static final Logger logger = LoggerFactory.getLogger(HmitExceptionHandler.class); /** * 处理自定义异常 */ @ExceptionHandler(HmitException.class) public Result handleRenException(HmitException ex) { Result result = new Result(); result.error(ex.getCode(), ex.getMsg()); return result; } @ExceptionHandler(DuplicateKeyException.class) public Result handleDuplicateKeyException(DuplicateKeyException ex) { Result result = new Result(); result.error(ErrorCode.DB_RECORD_EXISTS); return result; } @ExceptionHandler(Exception.class) public Result handleException(Exception ex) { logger.error(ex.getMessage(), ex); return new Result().error(); } }