1.異常種類
有兩種異常:1)預期異常
2)執行時異常
springmvc提供乙個全域性異常處理器(乙個系統只有乙個)進行統一異常處理
2. 自定義異常類
根據預期的異常,在程式中丟擲此系統自定義的異常
這個類用來表示是不是系統自定的異常
```
public
class
customexception
extends
exception
public string getmessge()
public string setmessage(string message)
建構函式進行賦值,也可以繼承父類的建構函式來,使用super(message);
3.全域性異常處理器
思路:系統遇到異常,在程式中手動丟擲,dao拋給service,service拋給controller,controller拋給前端控制器,前端控制器呼叫全域性異常處理器。
全域性異常處理器處理思路:
解析出異常型別,如果該異常型別是系統自定義的異常,直接取出異常資訊在頁面進行展示,如果不是則構造乙個異常資訊(資訊為「未知錯誤」)
全域性異常處理器:實現handlerexceptionresolver介面,在springmvc中配置全域性異常處理器,不用id,直接實現上面的介面就可以了,
class="自己寫的類的全限定名">
bean>
public
class
customexceptiontest
implement
handlerexceptionresolver else
string message = customexception.getmessage;
//建立modelandview 新增message到頁面,並指向要跳轉的頁面
modelandview modelandview = new modelandview();
modelandview.addobject("message",message);
modelandview.setviewname("error");
return modelandview;
}}
4.異常測試
在controller,service,dao任一層手動丟擲能使用的自己寫的異常資訊,如果不是手動丟擲異常,說明是乙個執行時錯誤顯示未知錯誤 。
如:
if(item == null )
ps: 與業務無關的建議在controller層丟擲,有關的建議在service層丟擲,service層能丟擲是因為業務層函式有throw exception, throw exception表示拋出讓上層來處理。 SpringMVC之異常處理
controller呼叫service,service呼叫dao,異常都是向上丟擲的,最終有dispatcherservlet找異常處理器進行異常的處理 自定義異常類 自定義異常類 public class sy ception extends exception public string get...
springMVC之異常處理
1.自定義乙個異常類 userexception.j a public class userexception extends runtimeexception public userexception string message,throwable cause public userexcept...
SpringMVC異常統一處理
正文 spring 統一異常處理有 3 種方式,分別為 使用 exceptionhandler 註解 實現 handlerexceptionresolver 介面 使用 controlleradvice 註解 package com.tao.smp.exception api統一的返回結果類 pub...