49 lines
1.2 KiB
Java
49 lines
1.2 KiB
Java
|
|||
|
|
|
||
|
|
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();
|
||
|
|
}
|
||
|
|
}
|