SpringBoot如何实现自定义异常及定制异常页面?

2026-06-10 10:481阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计628个文字,预计阅读时间需要3分钟。

SpringBoot如何实现自定义异常及定制异常页面?

不多说废话,直接进入主菜!🌟

步骤:

1.搭建SpringBoot开发环境(略,有不会的可以私信我)

2.编写自定义异常,继承自RuntimeException

- 自定义异常类 - 构造函数 - 父类RuntimeException调用

不多说废话,直接进入主菜!!

步骤:

1.搭建SpringBoot的开发环境,略(有不会的可以私信我)。

2.编写一个自定义异常,自定义异常需要继承RuntimeException。写一个构造函数,并调用父类保存异常信息。

public class MyException extends RuntimeException { public MyException(String massage) { super(massage); } }

3.编写一个控制器,用于抛出异常。当请求参数param=aa时抛出异常,否则不抛出异常。

@Controller public class MyController { @ResponseBody @RequestMapping("/exception") public String ee(String param){ if(param.equals("aa")){ throw new MyException("抛出自定义异常"); } return "没有抛出异常"; } }

当控制器抛出自定义异常时,这是服务器会发生状态码为500的错误。springboot自带的异常界面不是很友好,我们可以定制一个异常界面用于显示异常信息,看下一步骤。

4.定制自定义异常处理界面。springboot自动配置了视图解析器,我们可以编写一个500.html放在classpath:tempaltes/error目录下。

500.html代码如下(用的是thymeleaf渲染):

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> status: [[${status}]] <br> timestamp: [[${timestamp}]] <br> message: [[${message}]] <br> exception: [[${exception}]] <br> </body> </html>

代码已经编写完毕,来看看效果吧!

SpringBoot如何实现自定义异常及定制异常页面?

当我们访问 localhost/exception?param=aa时抛出异常,结果如下:

访问 localhost/exception?param=bb,不会抛出异常,结果如下:

** 举一反三:在用户管理系统中,我们可以自定义用户不存在异常类,当查询某个不存在的用户时,让控制器抛出用户不存在异常,并跳转到一个友好的提示界面。

抢票系统,当用户购买的票已经卖完,我们可以抛出一个自定义的票已经没有的异常,并跳转到一个友好的提示界面。 **

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

本文共计628个文字,预计阅读时间需要3分钟。

SpringBoot如何实现自定义异常及定制异常页面?

不多说废话,直接进入主菜!🌟

步骤:

1.搭建SpringBoot开发环境(略,有不会的可以私信我)

2.编写自定义异常,继承自RuntimeException

- 自定义异常类 - 构造函数 - 父类RuntimeException调用

不多说废话,直接进入主菜!!

步骤:

1.搭建SpringBoot的开发环境,略(有不会的可以私信我)。

2.编写一个自定义异常,自定义异常需要继承RuntimeException。写一个构造函数,并调用父类保存异常信息。

public class MyException extends RuntimeException { public MyException(String massage) { super(massage); } }

3.编写一个控制器,用于抛出异常。当请求参数param=aa时抛出异常,否则不抛出异常。

@Controller public class MyController { @ResponseBody @RequestMapping("/exception") public String ee(String param){ if(param.equals("aa")){ throw new MyException("抛出自定义异常"); } return "没有抛出异常"; } }

当控制器抛出自定义异常时,这是服务器会发生状态码为500的错误。springboot自带的异常界面不是很友好,我们可以定制一个异常界面用于显示异常信息,看下一步骤。

4.定制自定义异常处理界面。springboot自动配置了视图解析器,我们可以编写一个500.html放在classpath:tempaltes/error目录下。

500.html代码如下(用的是thymeleaf渲染):

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> status: [[${status}]] <br> timestamp: [[${timestamp}]] <br> message: [[${message}]] <br> exception: [[${exception}]] <br> </body> </html>

代码已经编写完毕,来看看效果吧!

SpringBoot如何实现自定义异常及定制异常页面?

当我们访问 localhost/exception?param=aa时抛出异常,结果如下:

访问 localhost/exception?param=bb,不会抛出异常,结果如下:

** 举一反三:在用户管理系统中,我们可以自定义用户不存在异常类,当查询某个不存在的用户时,让控制器抛出用户不存在异常,并跳转到一个友好的提示界面。

抢票系统,当用户购买的票已经卖完,我们可以抛出一个自定义的票已经没有的异常,并跳转到一个友好的提示界面。 **

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。