springmvc學習之異常處理器

2021-08-11 04:32:42 字數 1424 閱讀 4418

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...