统一异常处理

简介: 统一异常处理

15616626-a2845146bcab28fa.png


统一异常处理.png


一、什么是统一异常处理



1、制造异常


int a = 10/0;


2、什么是统一异常处理


我们想让异常结果也显示为统一的返回结果对象,并且统一处理系统的异常信息,那么需要统一异常处理


二、统一异常处理


1、创建统一异常处理器


在service-base中创建统一异常处理类GlobalExceptionHandler.java:


/**
 * 统一异常处理类
 */
@ControllerAdvice
public class GlobalExceptionHandler {
    @ExceptionHandler(Exception.class)
    @ResponseBody
    public R error(Exception e){
        e.printStackTrace();
        return R.error();
    }
}


三、处理特定异常



1、添加异常处理方法


GlobalExceptionHandler.java中添加


@ExceptionHandler(ArithmeticException.class)
@ResponseBody
public R error(ArithmeticException e){
    e.printStackTrace();
    return R.error().message("执行了自定义异常");
}


四、自定义异常


1、创建自定义异常类


@Data
@AllArgsConstructor
@NoArgsConstructor
public class GuliException extends RuntimeException {
    @ApiModelProperty(value = "状态码")
    private Integer code;
    private String msg;
}


2、业务中需要的位置抛出GuliException


try {
    int a = 10/0;
}catch(Exception e) {
    throw new GuliException(20001,"出现自定义异常");
}


3、添加异常处理方法


@ExceptionHandler(GuliException.class)
@ResponseBody
public R error(GuliException e){
    e.printStackTrace();
    return R.error().message(e.getMsg()).code(e.getCode());
}




相关文章
|
5天前
|
JavaScript 中间件 测试技术
中间件应用异常处理
中间件应用异常处理
10 2
|
2月前
|
存储 C++
C++中的异常处理与错误管理
C++中的异常处理与错误管理
13 0
C++中的异常处理与错误管理
|
5月前
|
缓存 Java 程序员
【C++】一文全解C++中的异常:标准库异常体系&自定义异常体系(含代码演示)
【C++】一文全解C++中的异常:标准库异常体系&自定义异常体系(含代码演示)
|
5月前
|
运维 网络架构 索引
SSM整合-异常处理器及项目异常处理方案
SSM整合-异常处理器及项目异常处理方案
42 0
|
8月前
全局统一异常处理
全局统一异常处理
35 0
|
9月前
|
JSON Java API
基于SpringCloud封装统一的异常处理
在 Spring Cloud 中,可以通过自定义异常处理器来封装统一的异常处理逻辑。异常处理器能够捕获并处理应用程序中的异常,然后返回适当的错误响应。以下是一个基于 Spring Cloud 的统一异常处理的示例
|
12月前
|
消息中间件 JSON JavaScript
SpringMVC 统一异常处理实战
SpringMVC 统一异常处理实战
|
前端开发 Java 数据库
@RestControllerAdvice 统一异常处理
@RestControllerAdvice 统一异常处理
@RestControllerAdvice 统一异常处理
|
开发者 微服务
统一异常处理 | 学习笔记
快速学习 统一异常处理
53 0