当前位置: 首页 > article >正文

第十八节:学习统一异常处理(自学Spring boot 3.x的第五天)

这节记录下如何通过AOP方式统一处理异常拦截。

第一步:

新建一个exception包,创建一个ExcetionHandler.java(名字随意取)

package cn.wcyf.wcai.exception;

import cn.wcyf.wcai.common.Result;
import org.springframework.web.bind.annotation.RestControllerAdvice;

@RestControllerAdvice
public class ExceptionHandler {
    // 处理运行时异常
    @org.springframework.web.bind.annotation.ExceptionHandler(BussinessException.class)
    public Result handlerException(BussinessException e){
        //处理逻辑
        return Result.fail(e.getMessage());
    }
    @org.springframework.web.bind.annotation.ExceptionHandler(ArithmeticException.class)
    public Result handlerArithmeticException(ArithmeticException e){
        return Result.fail(e.getMessage());
    }
}

要处理哪个异常,就在注解后面加上该拦截类的class。

第二步:测试

写一个错误,使得访问时报错。

    @GetMapping("/{id}")
    public Result<Student> getById(@PathVariable Integer id){
        int o = 1/0 ;
        if(id==10||id==11){
            return Result.success(studentService.getById(id));
//            return ReturnResult.createSuccessfulResp(ResultEnum.SUCCESS.getDesc(),studentService.getById(id));
        }else {
            return Result.fail(ResultEnum.ILLEGAL_ARGUMENT);
        }
    }

}


http://www.kler.cn/a/302066.html

相关文章:

  • vue项目PC端和移动端实现在线预览pptx文件
  • 基于 PyTorch 从零手搓一个GPT Transformer 对话大模型
  • java 随机生成验证码
  • 算力100问☞第5问:算力如何衡量?
  • spring boot整合https协议
  • makefile 设置动态库路径参数
  • 线程---实践与技巧(C语言)
  • 项目实战 ---- 商用落地视频搜索系统(9)---UI与上层service的交互优化
  • ubuntu2204安装kvm
  • 华为 HCIP-Datacom H12-821 题库 (20)
  • ArmSoM-Sige5 的 RK3576 SoC 主线内核支持进展
  • React 嵌套类名样式不生效
  • CSS 布局技巧实现元素左右排列
  • 使用 Vue 的事件总线:为了实现点击当前按钮关注或取消关注时,另一个页面的 Vue 组件中的表格数据自动刷新
  • PowerShell 脚本自动化 Windows 工作开发流程
  • 论文《Graph Neural Networks with convolutional ARMA filters》笔记
  • 开关电源的占空比与输入输出电压的关系
  • 更改PaddlePaddle的模型默认缓存目录
  • Anaconda下载及安装保姆级教程(详细图文)
  • 基于Java+SpringBoot+Vue+MySQL的西安旅游管理系统网站
  • 办海洋测绘乙级该如何准备才能万无一失办下来
  • 2.3.1 协程设计原理与汇编实现coroutine 2
  • 路径规划 | 基于A*算法的往返式全覆盖路径规划的改进算法(Matlab)
  • 【西电电装实习】6. 手装无人机的蓝牙断连debug
  • 【linux006】目录操作命令篇 - pwd 命令
  • vue3 自定义指令 directive