1.全局异常处理
package com.atguigu.servicebase.exceptionhandler;
import com.atguigu.commonutils.R;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* 统一异常处理类
*/
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
@ResponseBody
public R error(Exception e) {
e.printStackTrace();
return R.error().message("执行了全局异常处理");
}
}
2.特定异常处理
// 特定异常处理
@ExceptionHandler(ArithmeticException.class)
@ResponseBody
public R error(ArithmeticException e) {
e.printStackTrace();
return R.error().message(e.getMessage());
}
3.自定义异常处理
第一步:创建自定义异常类继承RuntimeException
package com.atguigu.servicebase.exceptionhandler;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor // 生成有参数的构造方法
@NoArgsConstructor // 生成无参的构造方法
public class GuliException extends RuntimeException {
private Integer code; //状态码
private String msg; // 异常信息
}
第二步:在适当的位置抛出自定义异常