寫在開始前 web異常處理

2021-09-07 20:50:20 字數 728 閱讀 4913

分層專案中,有上層呼叫下層,每一層都可能出錯,比如資料庫連線,檔案讀寫等異常。除了執行時程式的異常,還有業務邏輯的一些問題。發生異常需要做一定處理,既要讓開發人員便於排查問題,又要讓使用者看到友好又便於理解的資訊。

對於底層連線資料庫,運算元據庫的資料層,異常捕捉後,可以記錄日誌,日誌可以是當前檔案,行號,sql語句,引數,錯誤的詳情等。然後再往上層拋異常,在控制器層捕捉,判斷後返回給使用者客戶端恰當的便於理解的錯誤資訊。這個資訊是根據業務模組功能具體來確定的。比如使用者模組的新增功能,當使用者名稱重複的時候,可以提示『使用者名稱已存在』,比『操作失敗,請重試』要直觀,當然這是業務邏輯的異常,程式異常也類似。

通常可以自定義自己的異常型別,作為底層的異常拋到上層去。上層可以集中配置乙個異常資訊對照表,或錯誤碼表,根據返回的異常,查詢對應的使用者提示資訊,並返回。

常見的控制層**段如下:

trycatch(exception e){

//print();

//log('檔案-行號-異常資訊');

//return '根據e的型別,返回使用者友好的資訊提示';

每個controller都有類似的**,所以可以把這個處理邏輯搬到***或者排程器裡,然後根據異常型別或異常錯誤號,再對應集中返回資訊。

至於log記錄,則根據情況來分析,實際業務訪問量,系統規模架構等都有很大影響。一般是記錄在檔案,佇列,日誌型資料庫等。

層層丟擲、上層捕捉、詳情記錄、友好返回、異常資訊對照表

寫在放假前

一段感情,我很認真的對待她。我不知道,為什麼初戀總是那麼苦澀的,雖然她還在繼續,我仍然堅信她很愛我,我仍然堅信我們會一輩子在一起,快快樂樂的到永遠,但是我還是感覺到現在很苦.也許一切都會過去,她會慢慢的好起來,性格可以變得好些.我表面看起來大大咧咧,其實我的內心和感情很細膩。我希望我愛的人可以在乎我...

寫在開始的話

時間荏苒,轉眼8年過去了,有時候想想好像什麼都不會了,有時候想想又覺得之前自己也做了挺多東西,是該靜下心來好好沉澱的時候了,以前總是被專案追著,為了實現而編碼,思考的太少,好的 本身就是文件,可惜做的不好呀,哈哈,沒有專案的時候,又被懶惰慣性的驅使,業荒於嬉,加上人生中該辦的各種大事,現在恨時間不能...

寫在最開始

我不知道有多少人和我一樣,輕輕鬆鬆就把自己的人生過得一塌糊塗,似乎沒有什麼是在正常軌道上的,但是我知道我不喜歡這樣的生活。我喜歡很多事情,但是沒有一件能稱得上精通,甚至有的事情,我喜歡了很多年,卻因為各種原因,連開始都沒有開始。有的人說,那說明我不夠熱愛。但是怎樣才算是足夠熱愛?狂熱到整個生活只有這...