app开发者平台在数字化时代的重要性与发展趋势解析
358
2023-07-19
springboot中自定义异常以及定制异常界面实现过程解析
不多说废话,直接进入主菜!!
步骤:
1.搭建SpringBoot的开发环境,略(有不会的可以私信我)。
2.编写一个自定义异常,自定义异常需要继承RuntimeException。写一个构造函数,并调用父类保存异常信息。
public class MyException extends RuntimeException {
public MyException(String massage) {
super(massage);
}
}
3.编写一个控制器,用于抛出异常。当请求参数param=aa时抛出异常,否则不抛出异常。
@Controller
public class MyController {
@ResponseBody
@RequestMapping("cWBtrukJ/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渲染):
status: [[${status}]]
timestamp: [[${timestamp}]]
message: [[${message}]]
exception: [[${exception}]]
代码已经编写完毕,来看看效果吧!
当我们访问 http://localhost/exception?param=aa时抛出异常,结果如下:
访问 http://localhost/exception?param=bb,不会抛出异常,结果如下:
** 举一反三:在用户管理系统中,我们可以自定义用户不存在异常类,当查询某个不存在的用户时,让控制器抛出用户不存在异常,并跳转到一个友好的提示界面。
抢票系统,当用户购买的票已经卖完,我们可以抛出一个自定义的票已经没有的异常,并跳转到一个友好的提示界面。 **
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~