springboot自定义异常的控制台运行异常

springboot自定义异常默認的错误处理直接回返回对应的错误视图页面比如404错误。

如果是其它客户端访问默认相应一个json数据。比如通过postman来访问当前页面

  • ErrorPageCustomizer:系統发生错误后,该对象就会生效来定义请求规则。
  • DefaultErrorViewResolver:默认的错误视图解析器将错误信息解析到相应的错误视图。

处理error请求过程: 一旦系统出现4xx或者 5xx之类的错误

页面可以获取的错误信息:

  • error:错误提示。
  • errors:数据效验相关的信息

注意:static文件夹存放的是静态页面,它没有办法使用模板引擎表达式

了解了上面的计息过程以后我们自定义错误就简单了。自定义html错误页面分为两种情况:

有模板引擎的情况下在templates攵件夹下建立一个error文件夹,里面以错误号的方式添加错误页面我们也可以使用4xx和5xx作为错误页面的文件名来匹配这种类型的其它错误,精確优先

没有模板引擎的情况下,在静态资源文件夹下添加以错误号命名的错误页面

自定义异常返回JSON数据

这种异常處理方式没有自适应效果,不论页面还是其它工具都会返回json格式的数据

这种处理方式错误码是500他首先会去模板引擎error中找定制的错误页面,没有就会去静态资源文件中error文件夹去

//传入我们自己的错误状态码 4xx 5xx,否则就不会进入定制错误页面的解析流程

二、自定义业务异常类和全局异瑺处理类

1、编写自定义业务异常类:

 * 类说明:自定义业务异常类
 
 

2、编写全局异常处理类

 
 * 类说明:自定义全局异常处理类
 
 
 
 
 
启动应用访问:fileHandler/test,正常显示以下json内容证明业务异常已经被自定义异常处理类成功拦截
 
如果不需要返回json数据,而要渲染某个页面模板返回给浏览器那么異常处理类GlobalExceptionHandler中可以这么实现:
 
 
重启应用,fileHandler/test 显示自定义的异常页面内容
欢迎各位开发者朋友一起交流。笔者电话(微信):

我要回帖

更多关于 springboot自定义异常 的文章

 

随机推荐