码迷,mamicode.com
首页 > 编程语言 > 详细

spring boot全局捕获异常

时间:2020-12-29 11:02:27      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:main   pre   strong   class   范围   web   mod   ram   bsp   

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;
	}
}

  

spring boot全局捕获异常

标签:main   pre   strong   class   范围   web   mod   ram   bsp   

原文地址:https://www.cnblogs.com/zhangquan-yw/p/14175778.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!