flask學(xué)習(xí)筆記-視圖函數(shù)異常處理
1、abort函數(shù)
? abort() : 立即停止視圖函數(shù)的執(zhí)行,并且把相對(duì)應(yīng)的信息返回到前端中
? ? ? ? ? ? ? ? ? ?使用abort函數(shù)可以立即終止視圖函數(shù)的執(zhí)行 并可以返回給前端特定的信息
? ? ?abort()函數(shù)可以傳遞兩種方式的 信息,
? ? ? ? ? ? (1) ?①:一種是傳遞狀態(tài)碼信息,例如:abort(404) ? ,
? ? ? ? ? ? ? ? ? ? 前端就會(huì)報(bào)出已經(jīng)默認(rèn)好的404錯(cuò)誤信息
? ? ? ? ? ? ? ? ? ?②:自定義錯(cuò)誤信息,(用裝飾器)
? ? ? ? ? ? ? ? ? ? ? ?定義一個(gè)視圖函數(shù) ?這個(gè)函數(shù)的返回值會(huì)是前端所看到的最終的結(jié)果
? ? ? ? ? ? ? ? ? ? ? ?,,,這個(gè)視圖函數(shù)的裝飾器來定義錯(cuò)誤的類型
? ? ? ? ? ? ? ? ? ? ? ? ?@app.errorhandler(404) ? # ? 定義404的錯(cuò)誤類型
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?自定義的錯(cuò)誤類型,要和abort()里面定義的錯(cuò)誤類型一致
? ? ? ? ? ? (2) ?另外一種方式是傳遞響應(yīng)體的信息,abort(Response("內(nèi)容")),
? ? ? ? ? ? ? ? ? ?Response() ,里面的信息會(huì)在前端上面顯示出來
1)參數(shù)為標(biāo)準(zhǔn)的http的狀態(tài)碼信息 ,比如:
400 : Bad Reqest
404 : Not Found
示例:
測(cè)試運(yùn)行:

編譯器輸出:
2) 傳遞響應(yīng)體信息
第二種 還不如直接return方便,所以,常用第一種方式。
2、自定義異常處理
功能:自定義異常頁面。如果使用error_handler,那么只有頁面中拋出錯(cuò)誤才會(huì)觸發(fā)。
首先使用 裝飾器 傳入標(biāo)準(zhǔn)狀態(tài)碼
其次,向頁面返回指定內(nèi)容。
測(cè)試運(yùn)行:
