Spring REST API異常處理機制

2021-08-26 08:21:55 字數 1657 閱讀 5854

spring4之前,@controlleradvice在同一排程的servlet中協助所有控制器。spring4已經改變:@controlleradvice支援配置控制器的子集,而預設的行為仍然可以利用。

在spring4中, @controlleradvice通過annotations(), basepackageclasses(), basepackages() 方法定製用於選擇控制器子集。

可以對web的伺服器端執行錯誤, 做統一的處理

一.定義全域性捕獲異常

@controlleradvice

@responsebody

public

class

globalexceptionhandler

//serviceexception自定義業務異常

}

2.定義公共異常。

public

class

serviceexception

extends

runtimeexception

public

serviceexception(baseexceptionmsg baseexceptionmsg)

public

serviceexception(int code, string message)

public

serviceexception(string message, throwable cause, int code)

public

serviceexception(string message)

public

serviceexception(string message, throwable cause)

public

serviceexception(throwable cause)

public

intgetcode()

public

void

setcode(int code)

}

public

inte***ce baseexceptionmsg

3.定義各個系統異常。

public

enum dmaserviceexcetionmsg implements baseexceptionmsg

public

intgetcode()

public string getmsg()

@override

public

intgetexpcode()

@override

public string getexpmsg()

}

異常 異常鏈

1.常常會在捕獲乙個異常後再丟擲另外乙個異常,並且希望把原始資訊儲存下來,這被稱為異常鏈 2.在jdk1.4前,程式設計師必須自己編寫 來儲存原始異常資訊 3.現在所有throwable的子類子構造器都可以接受乙個cause物件作為引數,這個cause就是異常原由,代表著原始異常,即使在當前位置建立...

三十四 異常(一)異常丟擲 異常捕獲 異常傳播

一 程式錯誤 程式錯誤包含以下 編譯錯誤,即語法錯誤。程式就無法被生成執行 執行時錯誤 例如 動態分配空間時可能不會成功 開啟檔案可能會失敗 除法運算時分母可能為0 整數相乘可能溢位 陣列越界 二 c語言處理程式錯誤的方法 1 返回值 double func else if ret 2 else i...

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

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