秒殺專案學習筆記 異常處理

2021-10-04 21:22:00 字數 1587 閱讀 7824

目的:將校驗失敗的錯誤資訊在客戶端顯示出來。

實現:新建乙個全域性異常***,攔截繫結異常bindexception,輸出錯誤資訊,並且優化返回資訊的過程。

globleexceptionhandler 類

@controlleradvice

@responsebody

public

class

globleexceptionhandler

else

if(e instanceof

bindexception

)else

}}

至此可以讓客戶端顯示校驗錯誤資訊提示了。

正常專案處理異常都是拋異常,不是service層返回乙個故障資訊的物件,controller層再把資訊返回給客戶端。有異常直接在service層就拋了。

建立乙個異常物件

public

class

globalexception

extends

runtimeexception

public codemsg getcodemsg()

}

service層拋異常,而不是返回乙個故障資訊物件codemsg

@service

public

class

miaoshauserservice

public codemsg login

(loginentity loginentity)

string mobile = loginentity.

getmobile()

; string formpass = loginentity.

getpassword()

; miaoshauser user =

getbyid

(long.

parselong

(mobile));

if(user==null)

string dbpass =user.

getpassword()

; string saltdb = user.

getsalt()

; string calcpass = md5util.

formtodb

(formpass,saltdb);if

(!calcpass.

equals

(dbpass)

)return codemsg.success;

}}

controller層的**極大簡化,不需要寫**返回錯誤資訊了

@controller

("login"

)public

class

logincontroller

@responsebody

("/do_login"

)public result

dologin

(@valid loginentity loginentity)

}

秒殺專案學習筆記 物件快取

頁面快取,url快取快取時間短,內容多,適合變化不大的頁面。物件快取,只快取乙個物件,時間長,經常設定為0,永久有效。與頁面快取的最大區別是,當乙個物件快取發生了變動,與這個物件快取有關的快取都要更新,否則會出現資料不一致。比如,更新了更改了密碼,那麼就要取更新token這個快取。建立乙個查詢登入物...

學習筆記 異常處理

語法上正確的,但在嘗試執行時,可能會引發嚴重錯誤。1 0 traceback most recent call last file line 1,in 1 0 zerodivisionerror division by zero常見內建異常 try do samething except tuple...

python學習筆記 異常處理

try 多個except else finally語句 try 塊是此語句的主要動作,嘗試執行的 except分句捕獲且處理try 塊內引發的異常,else分句是try沒有發生異常時要執行的處理器。finally語句不管異常是否發生都會去執行的,如果沒有異常發生,執行完try 塊後執行finally...