东软睿道老师直接接听

400-029-09** 400-029-0997 转 16955
查看完整号码
扫码拨号
微信扫码拨号

上进计划 | 带你优雅处理SpringBoot全局异常

2024/1/12 13:04:28

上进计划 | 带你优雅处理SpringBoot全局异常

     Spring Boot 是目前开发Java Web应用主流的框架,在众多主流Java开发框架中Spring Boot表现优异,它不仅简化应用程序的开发和部署过程,同时还省去了一系列复杂的操作,让我们快速搞定应用。

      但是快,就会引发一些不稳定的因素,在开发中的错误和异常也会时有发生,它可能会出现在控制器、服务层或者数据访问层,如何快速高效地解决这些异常问题,保障应用的稳定性和可靠性是成为检验一名优秀Java程序员的标准。

      本周上进计划小萌就为各位未来的Java大佬们带来《Spring Boot 全局异常处理》限时免费课程,教你如何精准解决异常问题。

01 异常处理的重要性

      异常是指在程序运行过程中出现的非正常情况,可能是由于代码逻辑错误、外部资源异常或者网络问题等原因引起的。良好的异常处理可以有效地定位和解决异常,同时能够提供更好的用户体验。全局异常处理是指在应用程序中集中处理所有未被捕获的异常,以确保系统不会因为意外情况而崩溃,并向用户提供友好的错误提示。

02 全局异常处理实现方式 BasicExceptionController

      这是SpringBoot默认处理异常方式:一旦程序中出现了异常SpringBoot就会请求/error的url,在SpringBoot中提供了一个叫Basic ExceptionController的类来处理/error请求,然后跳转到默认显示异常的页面来展示异常信息。显示异常的页面也可以自定义,在目录src/main/resources/templates/下定义一个叫error的文件,可以是jsp也可以是html 。

      此种方式是通过请求转发实现的,出现异常时,会转发到请求到/error,该接口对异常进行处理返回。是符合全局异常处理的。

      可以自定义Controller继承BasicErrorController异常处理来实现异常处理的自定义。

      @ExceptionHandler

      该种方式只能作用于使用@ExceptionHandler注解的Controller的异常,对于其他Controller的异常就无能为力了,所以并不不推荐使用。

      此种方式是通过异常处理器实现的,使用Handler Exception ResolverComposite异常处理器中的Exception Handler Exception Resolver异常处理器处理的。

      @ControllerAdvice+@ExceptionHandler

      使用@Cont roller Advice +@ExceptionHandler注解能够进行近似全局异常处理,这种方式推荐使用。

      一般说它只能处理控制器中抛出的异常,这种说法并不准确,其实它能处理Dispatcher Servlet .doDispatch方法中Dispatcher Servlet .processD ispatchResult方法之前捕捉到的所有异常,包括:拦截器、参数绑定(参数解析、参数转换、参数校验)、控制器、返回值处理等模块抛出的异常。

      此种方式是通过异常处理器实现的,使用Handler Exception Resolver Composite异常处理器中的Exception Handler ExceptionResolver异常处理器处理的。

      关于SpringBoot全局异常处理方式的介绍先讲这么多,如果同学们对此感兴趣一定要领取我们的限时免费课程学习哦!结合实例讲解学习,掌握知识更加牢固,Java大神的称号等着你!

添加微信咨询
郭老师 @青岛东软睿道软件人才培训学校

专业解答各类课程问题、介绍师资和学校情况

微信号:153******36

立即咨询

“青岛东软睿道软件人才培训学校”是青岛西海岸新区东软睿道软件人才培训学校在教育宝平台开设的店铺,若该店铺内信息涉嫌虚假或违法,请点击这里向教育宝反馈,我们将及时进行处理。

机构评分

环境:4.0师资:4.0服务:4.0效果:4.0

公示信息

店铺名称:青岛东软睿道软件人才培训学校

单位名称:青岛西海岸新区东软睿道软件人才培训学校

账号名称:qddrrd(153******36)

所属城市:山东青岛

入驻时长:15年

在线客服:在线聊

微信咨询

返回顶部