Spring Boot从入门到放弃-全局异常处理器

目录:

第一个程序 hello World

Spring Boot 关闭某些自动配置

Spring Boot 修改banner

Spring Boot 全局配置文件

Spring Boot 从入门到放弃-获取自定义配置

Spring Boot 整合测试

Spring Boot Application与Controller分离

Spring Boot 日志文件

Spring Boot 自定义日志文件

Spring Boot 开发模式

Spring Boot 访问静态资源(以HTML为例)

扫描二维码关注公众号,回复: 8495753 查看本文章

Spring Boot 消息转换器

Spring Boot 配置FastJson

Spring Boot 自定义拦截器

摘要:

在项目开发中,异常处理是我们必不可少要经历的内容,所以Spring Boot如何处理异常呢?Spring Boot的异常处理基于AOP思想的五大通知类型的异常通知(前置通知、环绕通知、后置通知、异常通知、最终通知)类型。我们使用的即是异常通知。

项目结构:

ExceptionController.java
package com.edu.usts.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * Created by Guanzhong Hu
 * Date :2019/12/18
 * Description :
 * Version :1.0
 */
@Controller
public class ExceptionController {
    @RequestMapping("/eShow")
    @ResponseBody
    public String eShow(){
        int a = 5/0;
        return "show";
    }
}
GlobalExceptionHandler.java
package com.edu.usts.exception;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.HashMap;
import java.util.Map;

/**
 * Created by Guanzhong Hu
 * Date :2019/12/18
 * Description :全局异常处理器
 * Version :1.0

 */
@ControllerAdvice
public class GlobalExceptionHandler {

//  指名处理那些异常
    @ExceptionHandler(Exception.class)
    @ResponseBody
    public Map<String,Object> handlerException(Exception e){
        Map<String,Object> emap = new HashMap<>();
        emap.put("errCode",500);
        emap.put("errorMsg",e.toString());
        return emap;
    }

}

我们认为制造异常为除数为0一场,我们访问一下看看。

页面截图:

成功抛出异常信息。

源码gitee地址:

https://gitee.com/jockhome/springboot

发布了41 篇原创文章 · 获赞 108 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/qq_37857921/article/details/103594394