SpringBoot项目(18)---处理异常之@ExceptionHandler注解

本文介绍了SpringBoot中使用@ExceptionHandler注解处理异常的方法,包括如何在同一个Controller内定义异常处理,注解的使用方式,如指定多个异常类型,并展示了如何创建异常处理页面展示错误信息。

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

SpringBoot项目(18)—处理异常之@ExceptionHandler注解

处理异常的ExceptionHandler必须要和出现异常的方法在同一个Controller下才可以

没有很好的复用性,代码冗余

1.在能产生异常的方法所在的controller类中,添加处理异常的方法

处理异常的方法用@ExceptionHandler注解,并且返回值不能是String,必须是ModelAndView

@ExceptionHandler注解可以指定多个异常的类型,通过value来进行指定,注意是.class

指定的时候一定要给全名,比如java.lang.NullPointerException.class,并用{}括起来

@ExceptionHandler(value = {java.lang.NullPointerException.class})
public ModelAndView nullpointExceptionHandler(Exception e){//注入Exception对象,他会把异常对象传递到这个方法当中,比如这里的异常对象是NullPointerException
    ModelAndView mv = new ModelAndView();//新建一个ModelAndView对象
    mv.addObject("err",e.toString());//将Exception中的异常信息取出来放入ModelAndView中,这样可以在异常页面中显示
    mv.setViewName("error1");//设置要跳转的视图页面
    return mv;
}

2.编写异常处理页面error1.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Title</title>
</head>
<body>
出错了。。。
<span th:text="${err}"/>
</body>
</html>

通过标签的${err}取到异常信息

3.运行结果

浏览器显示:出错了。。。 java.lang.NullPointerException

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值