登录/注册
唐某
11055
占位
7
占位
31
浏览量
占位
粉丝
占位
关注
Springboot全局捕获异常+异常入库
唐某
2020-05-07 13:14:17 2020-05-07
215
0
    /**
* 指定拦截的异常
* 0.捕获所有异常,默认级别为RuntimeException,这里ExceptionHandler参数指定为Exception所有异常
* @param request
* @param response
* @param e
* @return
* @throws Exception
*/
@ResponseBody
@ExceptionHandler(value = Exception.class)
public Object errorHandler(HttpServletRequest request, HttpServletResponse response, Exception e) throws Exception{
Map<String,String> map = new HashMap(2);
response.setStatus(500);
map.put("msg","服务器异常,异常信息:"+e.toString());
//1.打印异常,可在日志里查看
log.error("==================================================================");
log.error(e.toString());
log.error("==================================================================");
//2.异常入库
MyException myException = new MyException();
myException.setIp(BasicUtil.getIpAddr(request));
myException.setCreateDate(new Date());
myException.setUrl(request.getRequestURL().toString());
myException.setDescription(e.toString());
myException.setUsername(
(SecurityContextHolder.getContext().getAuthentication().getName()+"")
.replace("anonymousUser","未登录"));
myExceptionService.insertSelective(myException);
//3.返回异常
return map;
}
暂无评论