首页 > 编程语言 > 详细

springboot全局捕获异常

时间:2019-11-28 11:19:23      阅读:58      评论:0      收藏:0      [点我收藏+]

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全局捕获异常

原文:https://www.cnblogs.com/curedfisher/p/11946846.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!