ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

谷粒学院-5-统一异常处理

2021-07-27 12:35:15  阅读:170  来源: 互联网

标签:错误 id 学院 Result 全局 异常 public 谷粒


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

流程:

因为也需要返回Result对象,所以需要导入common_util子模块的依赖

<!--common_utils-->
<dependency>
    <groupId>com.wang</groupId>
    <artifactId>common_utils</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>

在common_base下的对应包下创建全局异常处理类GlobalExceptionhander.java

/*
* 统一异常处理类
* @ControllerAdvice是一个加强版的@Controller
* 用来处理全局数据
* 搭配注解使用:
* @ExceptionHandler异常处理
* @ModelAttribute添加全局数据
* @InitBinder请求参数预处理
* */
@ControllerAdvice
public class GlobalExceptionHandle {
    /*
    针对全局错误(注意容器级别的错误不能捕捉到)
    * */
    @ExceptionHandler(Exception.class)
    @ResponseBody
    public Result error(Exception e){
        e.printStackTrace();
        return Result.failure().message("全局异常处理");
    }

    /*
    * 针对数学错误
    * */
    @ExceptionHandler(ArithmeticException.class)
    @ResponseBody
    public Result arithmeticError(ArithmeticException e){
        e.printStackTrace();
        return Result.failure().message("算术错误");
    }

}

测试:

在之前写好的controller中加入错误语句

/*
* 根据id查询
* */
@ApiOperation(value = "根据id查询")
@GetMapping("{id}")
public Result queryTeacherById(
        @ApiParam(name = "id",value = "需要查询的讲师id",required = true)
        @PathVariable("id")Integer id
){
    //测试错误
    int i=  10/0;
    EduTeacher teacher = eduTeacherService.getById(id);
    return Result.success().data("teacher",teacher);
}

结果:

标签:错误,id,学院,Result,全局,异常,public,谷粒
来源: https://www.cnblogs.com/CoderWangEx/p/15065146.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有