springboot中自定义异常以及定制异常界面实现过程解析

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

10年积累的网站制作、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站设计后付款的网站建设流程,更有乌海免费网站建设让你可以放心的选择与我们合作。

步骤:

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>

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

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

springboot中自定义异常以及定制异常界面实现过程解析

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

springboot中自定义异常以及定制异常界面实现过程解析

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

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

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

当前名称:springboot中自定义异常以及定制异常界面实现过程解析
网站网址:https://www.cdcxhl.com/article18/jjodgp.html

成都网站建设公司_创新互联,为您提供建站公司用户体验网站排名营销型网站建设品牌网站设计动态网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

手机网站建设