全局异常处理器|学习笔记

简介: 快速学习全局异常处理器

开发者学堂课程【SpringBoot 实战教程 全局异常处理器】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/651/detail/10792


全局异常处理器


内容介绍:

定义

二、案例

 

一、定义

springboot 中的异常处理器使用的是aop的思想在学习 springaop 时学到异常操作通知前置通知后置通知环绕通知其中还有一个中异常抛出通知而 springboot 利用 aop 思想进行异常的处理

 

二、案例

1、创建一个全局异常处理类,命名为 GlobalExceptionHandler异常实际上是作为通知介入的所以要使用注解 ControllerAdviceAdvice 通知的意思当发生异常时对异常的处理方式写一个功能比如叫 handler 处理异常如下:

//全局异常处理器

@ControllerAdvice

public class GlobalExceptionHandler {

@ExceptionHandler (Exception. class)

指明处理哪些异常把所有异常都处理

@ResponseBody

public Map<String, Object> allExceptionHandler (

Exception exception) throws Exception

当发生异常时返回相关的异常信息这样就可以接收到发生异常时异常的对象就可以得到异常信息

{

Map<String, Object> map = new

HashMap<String, Object>() ;

把异常信息封装到map中

map. put ("errorCode", 500) ;

发生异常时显示错误码

map.put ("errorMsg", exception. toString() ) ;

显示异常信息会发生不同的异常具体是什么异常已经被 Exception 接收到所以可以从这里面获取异常信息

return map;

最后返回异常信息

}

}

2、创建 controller命名为 testcontroller

3、加注解写一个功能制造一些异常最后返回字符串当请求 Controller 时执行int a = 5/0这句话就会发生异常这时全局处理器会捕获到这个异常返回格式的异常信息

@Controller

public class TestController {

@RequestMapping ("/ show")

@ResponseBody

PublicString show ()

{

int a = 5/0;

return " show" ;

}

}

4、这两个类 GlobalExceptiorajandler.java,TestController.java 都在com.qianfeng.controller 这个包里在启动程序中已经扫描 com. qianfeng. controller 包所以都会创建它们的对象

5、启动访问路径是 show现在是附属为0。

image.png

6、换成 int[]arr=newint[3];System. out. println (arr[3])再进行访问还是访问controller这时就出现了下标越界

image.png

这就是 springboot 中进行全局异常处理器的定义方式

 

相关文章
|
2月前
|
存储 JavaScript 关系型数据库
鸿蒙开发:实现全局异常捕获和异常查看
如何灵活的拿到错误信息后,执行我们想要的逻辑,也是自研的一个诉求,比如全局监听到异常后,重启应用,或者上传到自己的服务器,或者可以在应用内查看等等,实现一个全局异常捕获,确实有很多的有用之处。
鸿蒙开发:实现全局异常捕获和异常查看
|
4月前
|
运维 Devops
全局异常处理
全局异常处理
40 0
|
7月前
|
程序员 编译器 C语言
【C++高阶(七)】C++异常处理的方式
【C++高阶(七)】C++异常处理的方式
|
7月前
|
程序员
项目中的全局异常是如何处理的
项目中的全局异常处理通常包括对预期异常(程序员手动抛出)和运行时异常的管理。项目已提供`BaseException`作为基础异常类,用于手动抛出异常,并通过`GlobalExceptionHandler`进行全局处理。`
65 4
|
运维 Prometheus 监控
java异常 | 处理规范、全局异常、Error处理
java异常 | 处理规范、全局异常、Error处理
|
7月前
|
前端开发 IDE Java
使用aop实现全局异常处理
使用aop实现全局异常处理
165 0
|
JSON 前端开发 Java
SpringMVC中异常处理与ControllerAdvice捕捉全局异常
SpringMVC中异常处理与ControllerAdvice捕捉全局异常
102 0
全局统一异常处理
全局统一异常处理
67 0