1. 程式人生 > >SpringMVC 異常處理 返回異常code及前端AJAX解析

SpringMVC 異常處理 返回異常code及前端AJAX解析

後端:

統一異常處理器

@ControllerAdvice
public class DefaultExceptionHandler {

    @ExceptionHandler(value = Exception.class)
    @ResponseStatus(HttpStatus.BAD_REQUEST)
    @ResponseBody
    public ErrorResponse errorResponse(Exception exception) {
        return new ErrorResponse(exception.getMessage());
    }

    /**
     * 沒有許可權 異常
     * <p/>
     * 後續根據不同的需求定製即可
     */
    @ExceptionHandler({NullPointerException.class})
    @ResponseStatus(HttpStatus.UNAUTHORIZED)
    public ModelAndView processUnauthenticatedException(NativeWebRequest request, Exception e) {
        ModelAndView mv = new ModelAndView();
        mv.addObject("exception", e);
        mv.setViewName("error/unauthorized");
        return mv;
    }

    public class ErrorResponse {
        private String message;

        public ErrorResponse(String message) {
            this.message = message;
        }

        public String getMessage() {
            return message;
        }
    }
}

Controller:
    @ResponseBody
    @RequestMapping(method = RequestMethod.GET, value = "status",produces = {"application/json"})
    public Test statusTest(Test t) throws Exception {
        //System.out.println(t);
        int a= 0/0;
        return new Test();
    }


前端


其餘code處理方式一致

相關推薦

SpringMVC 異常處理 返回異常code前端AJAX解析

後端: 統一異常處理器 @ControllerAdvice public class DefaultExceptionHandler { @ExceptionHandler(value =

spring3升級到spring4通用異常處理返回jsonp多了/**/的解決辦法

static lte 彈出 protected rar temp model *** col 問題描述 在spring3中定義了通用的異常處理,具體代碼如下: public class CommonExceptionHandler implements Handle

SpringBoot構建RESTful API——處理返回異常

@ResponseBody 提供了一種很有用的方式,能夠將控制器返回的 Java 物件轉換為傳送到客戶端的資源表述。 一個好的 REST API 不僅僅能夠在客戶端和伺服器之間傳遞資源,他還能夠給客戶端提供額外的資料,幫助客戶端理解資源或者在請求中發生了什麼情況。 傳送錯誤資訊到客戶端 例如

SpringMVC整合MyBatis】springmvc異常處理-全域性異常處理器開發

異常處理 1.異常處理思路 系統中異常包括兩類:預期異常和執行時異常RuntimeException,前者通過捕獲異常從而獲取異常資訊,後者主要通過規範程式碼開發、測試通過手段減少執行時異常的發生。 系統的dao、service、controller出現都通過throws E

SpringMVC中的異常處理(全域性異常處理對自定義異常類進行統一處理)

前言: WEB開發中,總會有一些不可預料的錯誤,對於一些課預測的異常,我們可以自定義一個異常類,然後再載入個全域性異常處理器,對系統中出現的異常進行統一的處理。 注意:當你在Springmvc配置檔案中配置全域性異常處理器的時候,只要如下配置即可: <!

使用AOP統一異常處理 / 返回結果

日常業務中存在的問題 使用大量的try/catch來捕獲異常 導致整個控制層程式碼可讀性極差,並且此類工作重複枯燥、容易複製錯。 一份糟糕的控制器程式碼如下:@RequestMapping("test/run/old") public JsonResponse test

第八章——Windows下異常處理-SEH的概念基本知識

1.SEH相關結構     ①TIB         TIB是儲存執行緒基本資訊結構體,它位於TEB頭部,而TEB在FS:[0]處(0X7FFDE000)之前的筆記中提及過。具體的TIB結構如下:  &

Spring MVC 全域性異常處理-RESTAPI介面返回統一JSON格式-自定義異常處理--404異常捕捉

寫之前大概兩週草草的將一些程式碼儲存在草稿箱,今天有空來看,結果都沒有了【怨念】—重新整理一下了 —–【轉載請標註出處】 第一部分:需求 第二部分:實現方式 第三部分:404異常捕捉不能實現分析 第四部分:原因和原始碼分析 第五部分:最終總結 需求

springmvc異常處理-全域性異常處理器開發

springmvc提供全域性異常處理器進行統一異常處理(一個系統只有一個異常處理器) 自定義的異常類 對不同的異常型別定義異常類,異常類繼承Exception  系統自定義異常類,針對預期的

七、異常處理——2-異常處理機制

left ron text pan 異常處理機制 異常類 捕獲異常 p s 捕獲 2-異常處理機制 1.使用try...catch捕獲異常 2.異常類的繼承體系七、異常處理——2-異常處理機制

MVC異常處理異常捕獲)

src err 捕獲 uestc 技術 filters customer request sta 1.cshtml頁面異常 2.Controller異常 3.路由參數異常。 4.頁面不存在404 頁面不存在404,可以通過配置config來處理

Spring data jpa 調用存儲過程處理返回參數結果集

align 只需要 數據庫 num pri 調用 column mysq ini 一、環境 1.此隨筆內容基於spring boot整合的spring data jpa項目, 2.數據庫為mysql 5.7.9版本 二、內容 1. 新建存儲過程 pro_query_o

java的專題之異常處理——將異常處理運用在用戶管理系統中(很重要)

ava 例子 AS 異常處理 構造方法 str run 用戶 per 如何讓我們的異常處理變得足夠靈活—— 我們可以自己創建一個異常類(所有異常的通用操作) 在用戶管理系統中具體操作如下: 1、創建一個UserException的類 2、找到Superclass,點擊Bro

python 什麼是異常處理以及異常處理的兩種方式

# AttributeError 試圖訪問一個物件沒有的樹形,比如foo.x,但是foo沒有屬性x # IOError 輸入/輸出異常;基本上是無法開啟檔案 # ImportError 無法引入模組或包;基本上是路徑問題或名稱錯誤 # IndentationError 語法錯

Python學習【第15篇】:面向物件之異常處理 python------------------異常處理

python------------------異常處理 一、錯誤與異常 程式中難免會出現錯誤,而錯誤分為兩種 1.語法錯誤:(這種錯誤,根本過不了pyt

c++異常處理異常宣告,捕獲異常

C++ 捕獲異常的一些規則: 1.  非MFC 的c++ 異常應該用過引用來捕獲。使用引用來捕獲異常不需要刪除c++ 異常物件。因為使用引用捕獲的異常物件會在棧中傳遞。而且保持了多型性,使得你捕獲的異常正是你丟擲的異常物件。使用指標捕獲異常的話,需要你刪除異常

Python_day11--異常處理(捕獲異常、丟擲異常

一、丟擲一個錯誤碼在程式執行的過程中,如果發生了錯誤,可以事先約定返回一個錯誤程式碼,這樣,就可以知道是否有錯,以及出錯的原因。在作業系統提供的呼叫中,返回錯誤碼非常常見。比如開啟檔案的函式     open()     ,成功時返回檔案描述符(就是一個整數),出錯時返回 

java 異常處理異常丟擲

1.錯誤種類:error 和 Exception都集成於一個父類,error通常是機器問題(希望不會出現),Excption則是程式問題。 2.Exception分為RuntimeEcception和非RuntimeEcception, RuntimeEception可以

HandlerExceptionResolver異常處理(業務異常)

1.建立業務異常類/** * 業務異常型別 * @author kp.li * */ public class BussinessException extends Exception { /** * */ private static final lo

Win32結構化異常處理(SEH)——異常處理程式(__try/__except)

20:       {21:           a = 2;0040D8C3   mov         dword ptr [ebp-1Ch],222:       }0040D8CA   mov         dword ptr [ebp-4],0FFFFFFFFh23:       a = 3;00