Spring Boot-异常处理

本文深入探讨Spring MVC框架中的异常处理机制,包括默认错误处理流程、使用@ExceptionHandler注解进行异常捕获的方法,以及如何利用@ControllerAdvice实现全局异常处理。通过实例演示,帮助读者理解如何有效管理和展示应用中的异常信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一上来就出现了一个坑,它的出现异常后是默认跳转到error界面的。我说怎么都测试不出来默认的显示界面

在这里插入图片描述

准备好异常的界面,

  • hello默认对异常不做处理
  • test通过@ExceptionHandler注解来补获
    =========================================

首先看:

默认错误

真的是啥也没有,如果灭有error.html
在这里插入图片描述

晕死,总是默认跳转到error.html(如果有)

=。=
在这里插入图片描述

通过@ExceptionHandler捕获

在这里插入图片描述

抛异常,页面显示异常信息

在这里插入图片描述在这里插入图片描述

可以看出来,错误界面出现了异常信息

如果在一个Controller中有一个该注解修饰的方法,这个Controller里任意一个方法抛出异常就会由这个方法处理异常,而不会交给Servlet容器

因此出现了一个父类Controller的异常处理机制

父类异常处理

设定一个类,给里面的某个方法添加 @ExceptionHandler 注解然后其他类继承该类即可。.

在这里插入图片描述

同一个error界面

在这里插入图片描述

调用login产生异常

在这里插入图片描述

看得出来的确在运行

在这里插入图片描述

同样,调用find产生异常

在这里插入图片描述.
父类异常处理虽好,但是耦合度太高,如若有一个类忘了继承base类,就会对后期的运行带来极大的不便

可以通过@ControllerAdvice注解来

@ControllerAdvice注解的类是当前项目中所有类的统一异常处理类
在这里插入图片描述
其实就是在base类上加了这个注解而已。。。
建议用@ControllerAdvice
如果返回View 方法的返回值是ModelAndView
如果需要返回Json 或String,方法上添加@ResponseBody
会自动将返回的集合 转换为JSON格式、、

全局处理异常的controller,返回JSON的那种

在这里插入图片描述
在这里插入图片描述.

没有继承BaseController

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值