全局捕获异常

Posted tanlei-sxs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全局捕获异常相关的知识,希望对你有一定的参考价值。

全局捕获异常:整个web请求项目全局捕获异常

应用场景:使用Aop技术,采用异常通知

/**
 *
 *@author<a href="mailto:[email protected]">谭磊</a>
 *@since2019-01-15 22:37
 *全局捕获异常案例
 *1,捕获返回json格式
 *2,捕获返回页面
 */
@ControllerAdvice(basePackages="com.example.comtroller")
public class GlobalExceptionHandler {
    
       @ResponseBody//返回json格式
       //modelAndView  返回页面
       @ExceptionHandler(RuntimeException.class)//拦截运行时异常
       public Map<String, Object> errorJson(){
  //实际开发中,怎么将错误记录在日志中 Map
<String, Object> map=new HashMap<String, Object>(); map.put("errorcode", "500"); map.put("errormessage", "系统错误"); return map; } }

 

@ExceptionHandler表示拦截异常

    @ControllerAdivce是controller的一个辅助类,最常用的就是作为全局异常处理

    @ControllerAdivce 可以指定扫描范围

    @ControllerAdivce 约定了几种可行的返回值,如果是直接返回model类的话,需要

@ResponseBody进行json转换

             返回String,表示跳转到某个view

    返回modelAndView

    返回model + @ResponseBody

 

Log4j日志管理

1.)新建log4配置文件(resources)

2)Maven依赖

使用Aop统一处理Web请求日志

 


以上是关于全局捕获异常的主要内容,如果未能解决你的问题,请参考以下文章

异常和TCP通讯

springboot中添加全局异常捕获类

springboot中有了全局异常捕获,还需要try catch吗?

springboot 全局捕获异常

.net捕获全局异常并且记录日志多线程方式发送邮件提醒

Android 捕获全局异常CrashHandler,防止异常闪退,记录异常日志