package io.common.exception; import io.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; /** * 异常处理器 */ @RestControllerAdvice public class RenExceptionHandler { private static final Logger logger = LoggerFactory.getLogger(RenExceptionHandler.class); /** * 处理自定义异常 */ @ExceptionHandler(RenException.class) public Result handleRenException(RenException 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("数据库中已存在该记录!"); return result; } @ExceptionHandler(Exception.class) public Result handleException(Exception ex){ logger.error(ex.getMessage(), ex); return new Result().error(ex.getMessage()); } }