package com.weather.exception; import com.weather.common.exception.ErrorCode; import com.weather.common.exception.CommonException; import com.weather.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 123 * @since 1.0.0 */ @RestControllerAdvice public class RenExceptionHandler { private static final Logger logger = LoggerFactory.getLogger(RenExceptionHandler.class); /** * 处理自定义异常 */ @ExceptionHandler(CommonException.class) public Result handleRenException(CommonException 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(); } }