GlobalExceptionHandler.java
package com.xxz.base.exception;
import com.xxz.util.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* 全局异常处理器
*/
@ControllerAdvice
@Slf4j //表示用到日志插件
public class GlobalExceptionHandler {
//全局异常
@ExceptionHandler(Exception.class)
@ResponseBody //返回json格式数据
public Result error(Exception e){
//logback输出到文件
log.error(e.getMessage());
log.info("info");
log.warn("warn");
e.printStackTrace();//打印异常信息
return Result.error().message("执行了全局异常处理...");
}
//特定异常
@ExceptionHandler(ArithmeticException.class)
@ResponseBody
public Result error(ArithmeticException e){
e.printStackTrace();//打印异常信息
return Result.error().message("执行了ArithmeticException算术异常处理...");
}
//自定义异常
@ExceptionHandler(GuiguExcetion.class)
@ResponseBody
public Result error(GuiguExcetion e){
e.printStackTrace();//打印异常信息
return Result.error().code(e.getCode()).message(e.getMsg());
}
}