spring boot全局异常捕捉
Spring有帮我们做异常处理(页面跳转)有兴趣的可以研究研究
BasicErrorController
这个类,这是springboot处理异常的源码,它的原理很简单,就是判断请求头:Accept 是否是text/html,如果是返回view,如果不是返回json。但是我们发现它的报错信息不太符合开发,所以我们需要自定义报错信息。
1. 首先创建自定义异常
创建一个自定义异常。
package com.laojiao.securitydemo.myexception;/*** Created by Fant.J.*/
public class UserNotExistException extends RuntimeException {private String id;public UserNotExistException(String id) {super("user not exist");this.id = id;}public String getId() {return id;}public void setId(String id) {this.id = id;}
}
2. 创建异常处理类
package com.laojiao.securitydemo.myexception;/*** 错误处理器:处理其他Controller出的异常* Created by Fant.J.*/
@ControllerAdvice
public class ControllerException {@ExceptionHandler(UserNotExistException.class) //需要处理的 异常类@ResponseBody //json格式@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) //响应状态:服务器内部错误异常public Map<String,Object> handleUserNotExistException(UserNotExistException ex){Map<String,Object> result = new HashMap<>();result.put("id",ex.getId());result.put("message",ex.getMessage());return result;}
}
我在这里返回json,所以用了@ResponseBody
注解。
![](https://yqfile.alicdn.com/img_304f10306ef1585c7a6a6060e0a3d1eb.png)
spring boot全局异常捕捉相关推荐
- Spring Boot 全局异常机制
导语 在项目开发中遇到一个问题,就是通过校验规则判断的内容抛出的异常,并没有被Spring Boot的全局异常捕获机制锁处理.这里提供了如下的解决方案 校验规则引入 在项目的POM文件中引入如 ...
- Spring Boot 全局异常捕获
import javax.servlet.http.HttpServletRequest; import org.springframework.web.bind.annotation.Control ...
- spring boot 四:全局异常捕捉
spring boot 四:全局异常捕捉 1 前言 希望定制错误,比如一般springboot的500错误展示如下(trace等可以通过配置application.yml来决定隐藏还是具有): app ...
- Spring MVC全局异常后返回JSON异常数据
Spring MVC全局异常后返回JSON异常数据 参考文章: (1)Spring MVC全局异常后返回JSON异常数据 (2)https://www.cnblogs.com/exmyth/p/560 ...
- spring设置全局异常处理器
spring设置全局异常处理器 参考文章: (1)spring设置全局异常处理器 (2)https://www.cnblogs.com/gongxijun/p/5824723.html 备忘一下.
- spring boot 全局异常处理的实现(@ExceptionHandler),以及@InitBinder、@ModelAttribute的作用
spring boot 全局异常处理的实现(@ExceptionHandler),以及@InitBinder.@ModelAttribute的作用 参考文章: (1)spring boot 全局异常处 ...
- Android全局异常捕捉器
Android全局异常捕捉器主要是捕获应用在运行中无法预计的异常 1.首先要写一个MyCrashHandler实现UncaughtExceptionHandler package com.exampl ...
- Spring Boot 全局懒加载
文章目录 Spring Boot 全局懒加载 1.简介 2.排除 Bean 3.Spring Boot 全局懒加载的利弊 Spring Boot 全局懒加载 1.简介 Spring Boot 在版本 ...
- Java全局异常捕捉
1.场景还原 在项目开发中,对于各种异常都有不同的报错提示或策略,无疑对于用户或者开发来说,是一个很好的用户体验:如何在java定义一个全局异常捕捉呢? 2.实现方案 2.1 自定义一个业务异常类 @ ...
- Spring全局异常捕捉实现HandlerExceptionResolver接口,在error-page配置捕捉异常
方式一 1.1 创建全局异常类 该类要实现HandlerExceptionResolver接口,详细如下: package com.rbc.hbms.util;import java.util.Ha ...
最新文章
- GAITC 2020 演讲实录丨张立华:机器智能的发展现状
- python numpy矩阵运算加速器 NumExpr
- java根据ip查计算机名_Java如何从IP地址查找主机名?
- 简要分析电话光端机的常见问题
- mysql中怎么存住文件链接_数据库如何保存链接文件
- rhel6.3-64 yum问题
- ext2.0中EditorGridPanel (8)
- Proxmark3初学:用PM3克隆M1普通门禁卡方法
- sql order by 用法
- 陈强老师公开课笔记2——中介效应的原理与检验
- LivePlayer H5播放器(实时视频和历史视频)
- 【亲测】80个经典在线休闲H5小游戏源码合集,直接上传空间即可使用,可玩性还不错
- unity 发布苹果商店_[Mac] Unity 导出 iOS 游戏并上架 App Store
- 如何制作商场超市地摊清仓大甩卖广告语录音
- 书终于出来了:《Unity3D平台AR与VR开发快速上手》
- 少说话多写代码之Python学习017——字典的方法(items、pop)
- 【Java系列】深入解析Java多线程
- Teamcenter的BMIDE中LOV配置
- drep:微生物基因组快速去冗余-文章解读+帮助文档+实战
- 嵌入式linux mplayer,QT调用mplayer 的方法