首页 > 其他分享 >统一异常处理

统一异常处理

时间:2023-04-02 14:45:16浏览次数:32  
标签:自定义 service 处理 SpringMVC 异常 统一

  在web项目开发中,不管是mapper层、service层还是controller层,都有可能发生异常。如果每个异常都单独处理,系统的代码耦合性高,工作量大,维护困难。SpringMVC能将所有类型的异常处理,从各层的各种处理过程中解耦出来,进行统一处理,既保证了相关处理过程的功能较单一,也实现了异常信息的统一处理和维护。   SpringMVC 框架中异常处理流程如下图所示。从图中可以看出, mapper/dao、service、controller各层出现的异常都通过throws Exception向上抛出,最后由SpringMVC前端控制器交由全局异常处理器(一个系统只有一个异常处理器)进行统一异常处理进行异常处理,所以,系统中的异常是由 SpringMVC 框架来统一处理异常的。 实现全局统一异常处理时,主要使用两个注解: @RestControllerAdvice:定义一个类为异常类 @ExceptionHandler:指定处理特定异常的方法 具体实现思路: ⚫ 自定义一个异常类,捕获针对项目或业务的某个异常 ⚫ 使用@ExceptionHandler注解处理自定义异常和通用异常 ⚫ 使用@RestControllerAdvice接收所有的控制层方法抛出的异常

标签:自定义,service,处理,SpringMVC,异常,统一
From: https://www.cnblogs.com/qiqi-yi/p/17280450.html

相关文章

  • 预处理指令
    #include<stdio.h>#defineN100voidf();intmain(){   f();   #ifdefN   #undefN   #endif   return0;}voidf(){#ifdefined(N)   printf("Nisdefined\n");#else   printf("Nisnotdefined\n");#endif}......
  • Python异常 ValueError的问题详解
    导读这篇文章主要介绍了Python异常ValueError的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教Python异常ValueErrorValueError:invalidliteralforint()withbase10:'*'试图将一个与数字无关的类型转化为整数,会抛出该异常。......
  • 景区灭火问题——图形处理,最短路径
    景区灭火问题                                              ......
  • vue之表单处理
    vue之表单处理(一)实验介绍基本用法文本多行文本单选按钮复选框多个复选框选择框实验介绍在日常的开发中,表单随处都被使用到,如:登录,问题反馈功能等。对表单的数据收集和绑定也是很常规的工作。在一般开发中处理表单,需要通过操作DOM来实现,是一个相对繁琐且低效率的工作......
  • Eclipse中代码无异常缺编译报红
    Eclipse中代码无异常缺编译报红背景:在Eclipse中,明明代码没有问题,之前编写好的类,重启Eclipse之后就出现编译期间爆红,注释也爆红。解决Window→Preferences→Java→Compiler→Building把Buildpathproblems中的IncompletebuildpathCirculardependencies两个属性从默认......
  • [VM virtual Box] vbox虚拟机使用问题处理
    虚拟机报错提示“一个键加速配置页中已启动硬件虚拟化,但主机并不支持。需要警用硬件虚拟化才能启动虚拟机”“虚拟电脑草藏系统提示设为64位。64位系统需要硬件虚拟。若设置则更改时自动选择”解决方法:关闭系统的虚拟化设置控制面板启用Hyper-V功能找回VirtualBox的......
  • C# 直接在子线程中对窗体上的控件操作是会出现异常
    https://www.bbsmax.com/A/MAzA8klpd9/ Form1里privatedelegatevoidDispMSGDelegate(intindex,stringMSG);publicvoidDispMsg(intiIndex,stringstrMsg){if(this.richTextBox1.InvokeRequired==false)......
  • IWDG-CH32FV2x_V3x--低功耗模式的看门狗处理
    芯片睡眠模式下看门狗的使用:     由于独立看门狗的特殊性,一旦开启就不能再被关闭,除非发生复位。而睡眠时程序又是停止运行的,这样就无法及时喂狗,从而导致看门狗复位。那么就需要软件上做些特殊   处理     方法1:在低功耗模式下进行RTC定时唤醒CPU进行......
  • php实现统一的curl请求
    php实现统一的curl请求functioncurl_request($url,$method='GET',$data=array(),$headers=array()){$curl=curl_init();curl_setopt($curl,CURLOPT_URL,$url);curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);//设置请求方法switch......
  • SimpleDateFormat并发引发的multiple points 异常以及解决
    SimpleDateFormat并发引发的multiplepoints异常以及解决一、问题分析SimpleDateFormat并发会出现如下问题:1、java.lang.NumberFormatException:multiplepoints 2、 java.lang.NumberFormatException:emptyString 3、java.lang.NumberFormatException:Forinputs......