package com.wangxun.blog.handler;
import com.wangxun.blog.vo.Result;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
//注解表示处理controller的异常
@ControllerAdvice
public class AllExceptionHandler {
//Exception.class表示处理所有的异常;
@ExceptionHandler(Exception.class)
@ResponseBody
public Result doException(Exception ex) {
ex.printStackTrace();
return Result.fail(-999, "系统异常,请联系管理员!");
}
//SQLIntegrityConstraintViolationException.clas表示处理SQL方面的异常
@ExceptionHandler(SQLIntegrityConstraintViolationException.class)
public R<String> exceptionHandler(SQLIntegrityConstraintViolationException ex){
log.error(ex.getMessage());
//sql数据库报的唯一值异常
if (ex.getMessage().contains("Duplicate entry")){
String[] split = ex.getMessage().split(" ");
String msg = split[2]+"已存在";
return R.error(msg);
}
return R.error("未知错误");
}
}
spring-boot全局处理异常
于 2022-04-29 17:29:45 首次发布