当前位置: 首页> 游戏> 游戏 > 湛江专业官网建站_网站排名优化原理_网站运营工作的基本内容_百度网站提交入口

湛江专业官网建站_网站排名优化原理_网站运营工作的基本内容_百度网站提交入口

时间:2025/7/13 5:00:45来源:https://blog.csdn.net/weixin_64681117/article/details/144912949 浏览次数:1次
湛江专业官网建站_网站排名优化原理_网站运营工作的基本内容_百度网站提交入口

         异常就是程序出现了不正常的情况

异常的体系结构:

一、如何自定义异常?

  • 自定义异常概述

    当Java提供的本地异常不能满足我们的需求时,我们可以自定义异常

  • 实现步骤

    1. 自定义异常类,extends 继承Excepion (编译时异常)或者RunTimeException(运行时异常)
    2. 提供无参、带参构造器,传入异常信息
    3. 使用throws 或try - catch 调用自定义异常

二、项目中的异常是怎么处理的?

处理异常

  • 如果程序出现了问题,我们没有做任何处理,最终JVM 会做默认的处理,处理方式有两个步骤:

    • 把异常的名称,错误原因及异常出现的位置等信息输出在了控制台

    • 程序停止执行

  • throws 向上抛异常,通常用于受检查异常,提醒调用者需要处理该异常。
  • try - catch 直接解决异常
    • 执行流程
      • 程序从 try 里面的代码开始执行

      • 出现异常,就会跳转到对应的 catch 里面去执行

      • 执行完毕之后,程序还可以继续往下执行

    • finally 块里面的代码始终都会执行,遇到return也会执行,return的值会先返回再执行finally

    • 顺序是先执行try 有异常执行catch 对应异常的catch块,没有异常,执行finally

  • 编译时异常

    • 都是Exception类及其子类

    • 必须显示处理,否则程序就会发生错误,无法通过编译

  • 运行时异常

    • 都是RuntimeException类及其子类

    • 无需显示处理,也可以和编译时异常一样处理

  • 如图

三、全局异常拦截如何实现?

        在编写代码的过程中,会经常遇到对各种程序异常进行处理,但是如果在每个出异常的地方进行单独处理的话,这会引入大量不相关的异常,增加了程序的耦合性。

         使用@ControllerAdvice(或@RestControllerAdvice注解标注一个类为全局异常处理类。可以在这个类中定义一个或多个方法来处理不同类型的异常。

       在全局异常处理类中,使用@ExceptionHandler注解来指定哪些异常应该由哪个方法处理。可以为通用异常和特定异常类型定义不同的处理方法。

        除了使用 @ControllerAdvice,还可以通过 Spring AOP(面向切面编程)来实现全局异常处理,这种方式可以集中处理所有服务层或控制器中的异常。

        注意,在异常处理方法中可以写一个适当的响应日志或者提示信息和状态码来通知客户端发生了错误,这样做是为了方便程序员进行调试。

关键字:湛江专业官网建站_网站排名优化原理_网站运营工作的基本内容_百度网站提交入口

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: