异常处理

目录

异常处理

处理异常

方案一

方案二

小结


异常处理

  • 程序开发过程中不可避免地会遇见异常现象
  • 在案例功能的实现中我们并没有设置如何对于程序出现异常时如何进行处理
    • 在三层架构中,如果持久层程序运行出现错误,由于我们在三层架构中都没有设置如何处理程序运行异常,那么就会将程序运行的报错信息传递给调用层,比如:Mapper接口类出现问题,那么就会把报错返回给调用的Service类,Service类就会把报错返回给Controller类,最后返回给前端。

    • 具体如下:添加一个已经存在的部门,由于最开始创建depts数据表时,限制了部门名称的唯一性

    • 前端获取的异常信息

处理异常

方案一

  • 在Controller类中的方法中进行try...catch处理
    • 但是控制类中的方法有很多,这样做会加大代码的冗余程度,不推荐

方案二

  • 定义一个全局异常处理器
    • 全局异常处理器,将异常处理过后,将处理结果以标准的响应结果Result返回给前端。

    • 具体代码如下
      *

      java 复制代码
      package com.example.tlias.Exception;
      
      import com.example.tlias.pojo.Result;
      import org.springframework.web.bind.annotation.ExceptionHandler;
      import org.springframework.web.bind.annotation.RestControllerAdvice;
      
      // todo 全局异常处理器
      @RestControllerAdvice //todo = ControllerAdvice + ResponseBody(将方法的返回值转换为JSON格式数据)
      public class GlobalExceptionHandler {
          @ExceptionHandler(Exception.class) // todo 设置要捕获的异常,这里设置捕获所有异常类
          public Result ex(Exception e) {
              e.printStackTrace();//输出异常堆栈信息
              return Result.error("对不起,操作失败,请联系管理员");
          }
      }
    • 运行结果

    • 将设置的Result类的响应结果以JSON数据格式响应给前端

小结

  • 全局异常处理器
    • @RestControllerAdvice
    • @ExceptionHandler //设置捕获异常的类型
相关推荐
phltxy2 小时前
Spring AI 从提示词到多模态
java·人工智能·spring
starsky762386 小时前
基于 Spring AI 构建具备记忆与情绪的多角色 Agent 系统
人工智能·spring·架构
王五周八6 小时前
玩转 Spring AI Agent:基于 SpringBoot 集成 AI 工具与 Skills 能力实践
java·spring
云烟成雨TD9 小时前
Spring AI Alibaba 1.x 系列【67】ReactAgent SSE 流式输出
java·人工智能·spring
我登哥MVP9 小时前
Spring Boo从“会用”到“精通”:Spring Boot 入门
java·spring boot·后端·spring·maven·intellij-idea·mybatis
七老板的blog9 小时前
多阶段 AI 评测流水线架构设计与实践
java·人工智能·spring
我登哥MVP11 小时前
Spring Boot 从“会用”到“精通”:自动装配原理
java·spring boot·后端·spring·tomcat·maven·intellij-idea
霸道流氓气质11 小时前
Spring AI Ollama 连接超时问题排查与解决:OkHttp 读超时配置全指南
人工智能·spring·okhttp
lulu121654407812 小时前
2026年-企业级大模型API网关实战指南: 微元算力聚合平台性能优化实测
java·人工智能·spring·性能优化·ai编程
二哈赛车手12 小时前
新人笔记---继图片搜索功能后续以及AI网络搜索功能一些经验与踩坑点,吐槽一下自己在做这方面的崩溃瞬间
java·网络·人工智能·spring boot·笔记·spring