1、自定义异常
package com.zhz.servicebase.execptionhandler;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author mac
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class GuliException extends RuntimeException{
/**
* 状态码
*/
private Integer code;
/**
* 异常信息
*/
private String msg;
}
2、统一异常处理类
package com.zhz.servicebase.execptionhandler;
import com.zhz.common.utils.R;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
/**
* @author mac
* 统一异常处理类
*/
@RestControllerAdvice
public class GlobalExceptionHandler {
/**
* 指定出现什么异常执行这个方法
* @param e 异常
* @return
*/
@ExceptionHandler(Exception.class)
public R error(Exception e){
e.printStackTrace();
return R.error().message("执行了全局异常处理");
}
/**
* 特定异常处理
*/
@ExceptionHandler(ArithmeticException.class)
public R error(ArithmeticException e){
e.printStackTrace();
return R.error().message("执行了Arithmetic异常处理");
}
/**
* 自定义异常处理
*/
@ExceptionHandler(GuliException.class)
public R error(GuliException e){
e.printStackTrace();
return R.error().code(e.getCode()).message(e.getMsg());
}
}