spring boot全局捕获异常

spring boot全局捕获异常

制作人:全心全意

@ExceptionHandler:标识拦截异常

  @ControllerAdvice:Controller的一个辅助类,最常用的就是作为全局异常处理的切面类
  @ControllerAdvice可以指定扫描范围
  @ControllerAdvice约定了几种可行的返回值,如果是直接返回model类的话,需要使用@ResponseBody进行json转换

    返回String值,标识跳转到view
    返回modelAndView
    返回model+@ResponseBody

 

捕获异常类

package com.zq.main.controller;

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
//仅能捕获系统代码出现的问题,例如500(404无法捕获)
public class ZqExceptionHandler {
	// 拦截系统的所有异常
	@ExceptionHandler(RuntimeException.class)
	@ResponseBody
	public Map<String, String> exceptionHandler() {
		System.out.println(11111);
		HashMap<String, String> objectHashMap = new HashMap<>();
		objectHashMap.put("respCode", "500");
		objectHashMap.put("respMsg", "系统错误");
		return objectHashMap;
	}
}

  

posted @ 2020-12-22 22:17  全心全意_运维  阅读(303)  评论(0编辑  收藏  举报