SpringBoot 01錯誤處理機制

2021-08-20 08:44:33 字數 3027 閱讀 8915

1.常見的錯誤型別:

1.1、404錯誤

是伺服器執行完客戶端的請求以後,返回給客戶端的乙個執行結果的狀態編碼。

產生原因:web伺服器(容器)根據請求的位址找不到相應資源。

如:1)位址錯誤(拼寫不正確,字母大小寫錯誤)

2)web.xml檔案中的兩個不一致

3)工程沒有部署

4)web應用程式部署結構沒有遵守servlet規範

1.2、405錯誤

產生原因:web伺服器(容器)找不到service()方法處理請求。

如:1)service方法名稱寫錯

2)service方法引數型別與標準不一致

3)service方法異常、返回值型別與標準不一致

1.3、500錯誤

產生的原因:程式的執行過程中出錯。

如:1)servlet類沒有繼承httpservlet或實現servlet介面

2)web.xml檔案中的 寫錯

3)service方法中**執行時丟擲異常

2.springboot的錯誤資訊

2.1瀏覽器,返回乙個預設的錯誤頁面

瀏覽器傳送請求的請求頭:

2.2 如果是其他客戶端,預設響應乙個json資料

2.3原理:

​ 可以參照errormvcautoconfiguration;錯誤處理的自動配置;

位置:org.springframework.boot.autoconfigure.web.errormvcautoconfiguration

給容器中新增了以下元件

​ 1、defaulterrorattributes:

幫我們在頁面共享資訊;

@override

public mapgeterrorattributes(requestattributes requestattributes,

boolean includestacktrace)

2、basicerrorcontroller:處理預設/error請求

@controller

public class basicerrorcontroller extends abstracterrorcontroller

@responsebody //產生json資料,其他客戶端來到這個方法處理;

private string path = "/error"; 系統出現錯誤以後來到error請求進行處理;(web.xml註冊的錯誤頁面規則)

//模板引擎不可用,就在靜態資源資料夾下找errorviewname對應的頁面 error/404.html

return resolveresource(errorviewname, model);

}

步驟:​ 一但系統出現4xx或者5xx之類的錯誤;errorpagecustomizer就會生效(定製錯誤的響應規則);就會來到/error請求;就會被basicerrorcontroller處理;

springboot已經配置好了err的處理機制,即當發生4xx或5xx的型別的錯誤的時候,只要在templates資料夾下建立乙個error資料夾,再在err資料夾中建立4xx.html和5xx.html檔案,即可將相應的錯誤型別返回到***.html頁面上:

有模板引擎的情況下;error/狀態碼;【將錯誤頁面命名為 錯誤狀態碼.html 放在模板引擎資料夾裡面的 error資料夾下】,發生此狀態碼的錯誤就會來到 對應的頁面;

​ 我們可以使用4xx和5xx作為錯誤頁面的檔名來匹配這種型別的所有錯誤,精確優先(優先尋找精確的狀態碼.html);

​ 頁面能獲取的資訊;

​ timestamp:時間戳

​ status:狀態碼

​ error:錯誤提示

​ exception:異常物件

​ message:異常訊息

​ errors:jsr303資料校驗的錯誤都在這裡

​ 2)、沒有模板引擎(模板引擎找不到這個錯誤頁面),靜態資源資料夾下找;

​ 3)、以上都沒有錯誤頁面,就是預設來到springboot預設的錯誤提示頁面;

spring boot 錯誤頁,檔案上傳,異常處理

1.放在resources static error下 2.錯誤頁配置 3.檔案上傳 指定上傳的資料夾 spring.servlet.multipart.location e springboot 設定單個檔案最大最小 spring.servlet.multipart.max file size 5...

SQL Server Try Catch錯誤處理

一。語法要點 begin try end try begin catch end catch 異常部分 在 catch 塊的作用域內,可以使用以下系統函式來獲取導致 catch 塊執行的錯誤訊息 error number 返回錯誤號。error severity 返回嚴重性。error state ...

middleware generic錯誤處理機制

在cl smw mflow的 validate 方法裡,會call adapter object specific的validation function module.validation function module如果有錯誤,會assemble到changing引數error segment...