Spring boot全局捕获异常处理!

Posted - 未来可能遥远

tags:

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

package com.htli.util;

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
public class GlobalExceptionHandler {

    /**
     * @ExceptionHandler 表示拦截异常
     *    @ControllerAdvice 是 controller 的一个辅助类,最常用的就是作为全局异常处理的切面类
     *    @ControllerAdvice 可以指定扫描范围
     *    @ControllerAdvice 约定了几种可行的返回值,如果是直接返回 model 类的话,需要使用 @ResponseBody 进行 json 转换
     *    返回 String,表示跳到某个 view
     *    返回 modelAndView
     *    返回 model + @ResponseBody
     */
    /**
     * 返回json字符串的 还有返回modeAndView的
     * @return
     */
    @ExceptionHandler(RuntimeException.class)
    @ResponseBody
    public Map<String, Object> exceptionHandler(){
        Map<String, Object> errorResultMap = new HashMap<String, Object>();
        errorResultMap.put("errorCode", "500");
        errorResultMap.put("errorMsg", "系統错误!");
        return errorResultMap;
    }
    
}

一个捕获异常的工具类

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

Spring boot全局捕获异常处理!

Spring Boot 2.X:全局异常处理

spring boot: GlobalDefaultExceptionHandler方法内的友好错误提示,全局异常捕获

Spring Boot全局异常处理器(原理及使用详解)

spring boot2.0+中添加全局异常捕获

Spring boot异常统一处理方法:@ControllerAdvice注解的使用