| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> spring的统一的异常的处理 -> 正文阅读 |
|
[Java知识库]spring的统一的异常的处理 |
https://gitee.com/zhonglv/HandlerException.git? 自己的gitee的代码 就近原则
比如之前提到的NumberFormatException,这个异常有父类RuntimeException,RuntimeException还有父类Exception,如果我们分别定义异常处理方法,@ExceptionHandler分别使用这三个异常作为参数,比如这样: @ExceptionHandler(NumberFormatException.class) @ControllerAdvice 全局异常处理 2、@ControllerAdvice + @ExceptionHandler ?注解组合是全局异常处理,@ControllerAdvice 可以标注在类、接口、注解、枚举上,表示为整个应用下的 @controller 控制器给出建议/忠告,@ExceptionHandler 标注在 @ControllerAdvice 类下的方法上。 3、默认情况下 @ControllerAdvice 中的 @ExceptionHandler ?方法全局应用于所有控制器(@RestController、@Controller)。 4、如下所示:新建一个类,类上加上 @ControllerAdvice 注解,然后加上 @ExceptionHandler 异常处理方法,则可以为整个应用的控制器全局处理异常,其它控制器可以无需再处理异常。 @RestControllerAdvice 全局异常处理 2、如同 @RestController 注解组合了 @Controller 与 @ResponseBody 注解一样,@RestControllerAdvice 则组合了 @ControllerAdvice 与 @ResponseBody 注解。 3、所以 @ControllerAdvice 中的 ?@ExceptionHandler 方法返回值默认是做页面跳转,加上 @ResponseBody 才会直接返回给页面,而 @RestControllerAdvice 中的 @ExceptionHandler 方法则默认是返回给页面。 4、编码与上面的 @ControllerAdvice ?+ @ExceptionHandler 完全一样,区别仅仅在于 @ExceptionHandler 异常处理方法的返回值是做页面跳转还是返回给页面 备注:RestControllerAdvice 和?ControllerAdvice 的区别在哪里 @ControllerAdvice 中的??@ExceptionHandler 方法返回值默认是做页面跳转,加上 @ResponseBody 才会直接返回给页面,而 @RestControllerAdvice 中的 @ExceptionHandler 方法则默认是返回给页面。 最终的最终的总结: 使用局部的ExceptionHandler和全局的异常处理RestControllerAdvice |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/30 13:37:28- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |