最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring的異常處理@ExceptionHandler注解解析

 更新時間:2023年12月25日 10:30:08   作者:云川之下  
這篇文章主要介紹了Spring的異常處理@ExceptionHandler注解解析,當一個Controller中有方法加了@ExceptionHandler之后,這個Controller其他方法中沒有捕獲的異常就會以參數(shù)的形式傳入加了@ExceptionHandler注解的那個方法中,需要的朋友可以參考下

Spring的異常處理

為什么需要對異常進行處理?

假如SpringMvc我們不對異常進行任何處理, 界面上顯示的是這樣的,假設進行除計算,除數(shù)是0會報錯.:

在這里插入圖片描述

方法一 @ExceptionHandler

當一個Controller中有方法加了@ExceptionHandler之后,這個Controller其他方法中沒有捕獲的異常就會以參數(shù)的形式傳入加了@ExceptionHandler注解的那個方法中。

@Controller
@RequestMapping("/testController")
public class TestController {
    @RequestMapping("/demo1")
    @ResponseBody
    public Object demo1(){
       //不需要try {} catch {}
        int i = 1 / 0;
        return new Date();
    }
  //TestController 內的任何異常都會被兜住
    @ExceptionHandler({RuntimeException.class})
    public ModelAndView fix(Exception ex){
        System.out.println("do This");
        return new ModelAndView("error",new ModelMap("ex",ex.getMessage()));
    }
}

注意事項:

  • 一個Controller下多個@ExceptionHandler上的異常類型不能出現(xiàn)一樣的,否則運行時拋異常.

Ambiguous @ExceptionHandler method mapped for;

  • @ExceptionHandler下方法返回值類型支持多種,常見的ModelAndView,@ResponseBody注解標

方法返回值可以為:

ModelAndView對象
Model對象
Map對象
View對象
String對象
還有@ResponseBody、HttpEntity<?>或ResponseEntity<?>,以及void

缺點: 幾乎所有的Controller都需要進行異常處理,于是每個Controller都需要去寫一個方法,不太方便

方法二 @ControllerAdvice+@ExceptionHandler

@ControllerAdvice注解聲明一個注解類,這個注解類中的方法的某些注解會應用到所有的Controller里,其中就包括@ExceptionHandler注解。

/**
 * Created by liuruijie on 2016/12/28.
 * 全局異常處理,捕獲所有Controller中拋出的異常。
 */
@ControllerAdvice
public class GlobalExceptionHandler {
   //處理自定義的異常
   @ExceptionHandler(SystemException.class) 
   @ResponseBody
   public Object customHandler(SystemException e){
      e.printStackTrace();
      return WebResult.buildResult().status(e.getCode()).msg(e.getMessage());
   }
   //其他未處理的異常
   @ExceptionHandler(Exception.class)
   @ResponseBody
   public Object exceptionHandler(Exception e){
      e.printStackTrace();
      return WebResult.buildResult().status(Config.FAIL).msg("系統(tǒng)錯誤");
   }
}

到此這篇關于Spring的異常處理@ExceptionHandler注解解析的文章就介紹到這了,更多相關Spring的異常處理內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • java實現(xiàn)附件預覽(openoffice+swftools+flexpaper)實例

    java實現(xiàn)附件預覽(openoffice+swftools+flexpaper)實例

    本篇文章主要介紹了java實現(xiàn)附件預覽(openoffice+swftools+flexpaper)實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2016-10-10
  • 基于JDK動態(tài)代理原理解析

    基于JDK動態(tài)代理原理解析

    這篇文章主要介紹了基于JDK動態(tài)代理原理解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Java實現(xiàn)添加文字水印和圖片水印功能

    Java實現(xiàn)添加文字水印和圖片水印功能

    為圖片添加水印是一種常用的圖片處理技術,本文主要介紹了Java實現(xiàn)添加文字水印和圖片水印功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • SpringBoot高效實現(xiàn)API限流的多種方法實戰(zhàn)

    SpringBoot高效實現(xiàn)API限流的多種方法實戰(zhàn)

    本文介紹了在SpringBoot項目中實現(xiàn)限流的多種方法,包括使用Guava庫的GuavaRateLimiter、基于Redis的分布式限流、Resilience4j限流器以及通過自定義過濾器實現(xiàn)API限流,感興趣的可以了解一下
    2026-01-01
  • Java Web程序中利用Spring框架返回JSON格式的日期

    Java Web程序中利用Spring框架返回JSON格式的日期

    這里我們來介紹一下Java Web程序中利用Spring框架返回JSON格式的日期的方法,前提注意使用@DatetimeFormat時要引入一個類庫joda-time-版本.jar,否則會無法訪問相應路徑
    2016-05-05
  • Nacos服務注冊與發(fā)現(xiàn)原理解讀

    Nacos服務注冊與發(fā)現(xiàn)原理解讀

    Nacos是阿里巴巴開源的微服務組件,支持服務注冊、發(fā)現(xiàn)及配置管理,采用客戶端心跳維護、服務端推送與長輪詢同步,結合健康檢查機制,實現(xiàn)高效可靠的微服務治理
    2025-08-08
  • SpringBoot實現(xiàn)系統(tǒng)監(jiān)控的完整示例

    SpringBoot實現(xiàn)系統(tǒng)監(jiān)控的完整示例

    本文介紹了如何對SpringBoot應用進行系統(tǒng)監(jiān)控,包括監(jiān)控的重要性、詳細步驟以及最佳實踐,監(jiān)控可以幫助我們預防問題、快速定位和解決,提升系統(tǒng)性能和開發(fā)體驗,需要的朋友可以參考下
    2025-12-12
  • idea Gradle 控制臺中文亂碼的解決

    idea Gradle 控制臺中文亂碼的解決

    通過IDEA執(zhí)行gradle的任務時,在終端的輸出出現(xiàn)中文亂碼,本文主要介紹了idea Gradle 控制臺中文亂碼的解決,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • springboot如何整合elasticsearch

    springboot如何整合elasticsearch

    這篇文章主要介紹了springboot如何整合elasticsearch問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • java身份證合法性校驗工具類實例代碼

    java身份證合法性校驗工具類實例代碼

    這篇文章主要給大家介紹了關于java身份證合法性校驗工具類的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09

最新評論

炉霍县| 百色市| 惠来县| 锦州市| 运城市| 遵义县| 江源县| 克什克腾旗| 轮台县| 溆浦县| 绥滨县| 常山县| 郑州市| 宾阳县| 理塘县| 汝南县| 开远市| 凤庆县| 渭源县| 玉门市| 德江县| 吴桥县| 佛坪县| 山阴县| 崇信县| 准格尔旗| 闸北区| 富民县| 正宁县| 卢湾区| 澄城县| 丰城市| 枣强县| 讷河市| 上思县| 沈丘县| 麻城市| 双城市| 龙门县| 尉犁县| 宣武区|