springboot全局捕获异常
1.思路/原理:
全局捕获异常,采用AOP技术,采用异常通知
2.全局捕获异常案例
(1).捕获返回json格式.
(2).捕获返回页面.(页面异常,如:找不到页面,页面出错等.)
3.加上@ControllerAdvice(注解具体解释URL:https://www.cnblogs.com/lenve/p/10748453.html)
扫包范围最好扫描Controller
@Responsebody返回json格式的错误信息
注意:但在实际企业开发过程中通常将异常信息写入日志中,通过邮件方式发送给开发者(存放在Mongdb中)
==================================================================================================================================
3.项目代码截图:
GlobalExceptionHandler.java
package com.nantian.exception;
import java.util.HashMap;
import java.util.Map;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
@ControllerAdvice(basePackages="com.nantian.controller")
public class GlobalExceptionHandler {
@ExceptionHandler(RuntimeException.class)
@ResponseBody
public Map<String, Object> exceptionHandler(){
Map<String, Object> map=new HashMap<String,Object>();
map.put("errorCode", "101");
map.put("errorMsg", "系统错误");
return map;
}
}
==================================================================================================================
UserController.java
/**
* 测试全局异常
*/
@RequestMapping("/testException")
public String testException(int i) {
int j=0;
j=1/i;
return "success"+j;
}
===============================================================================================================================
测试截图:
相关文章
- SpringBoot集成Liquibase
- 微服务技术系列教程(47)-SpringBoot多配置文件总结
- 如何对springboot启动类捕获异常(转载)
- 讲理论,重实战!阿里内部 SpringBoot 王者晋级之路全彩小册开源
- SpringBoot 这样调优
- SpringBoot + Mybatis + Druid + PageHelper 实现多数据源分页
- SpringSecurity整合SpringBoot
- SpringBoot入门-统一异常处理
- Springboot循环依赖问题: Bean with name ‘xxxxService‘ has been injected into other beans
- 微信扫码支付springboot版本
- springboot集成mybatis-generator时候遇到的问题
- springBoot项目配置错误问题-@EnableWebMvc注解问题导致SpringBoot默认配置失效
- SpringBoot报错处理:Exception processing template "XXX": Error resolving template [XXX]、expression expected找不到符号的错误、illegal escape character in String literal、Dao层方法不能重载
- SpringBoot之修改单个文件后立刻生效
- springboot+vue简历系统(源码+文档)
- SpringBoot工程目录配置
- SpringMVC 项目中 创建SpringBoot,使用Hibernate和JPA
- 微服务SpringBoot+Neo4j搭建企业级分布式应用拓扑图
- springboot拦截器过滤token,并返回结果及异常处理