Request的中斷和ErrorHandler實(shí)例解析
概述
在view函數(shù)中,如果需要中斷request,可以使用abort(500)或者直接raise exception。當(dāng)然我們還需要返回一個(gè)出錯(cuò)信息給前端,所以需要定制一下ErrorHandler。一般只需要兩個(gè)個(gè)handler即可,一個(gè)是404錯(cuò)誤,一個(gè)是500一類的服務(wù)器端錯(cuò)誤。當(dāng)然也可以自定義錯(cuò)誤。
代碼清單
下面是一份示例代碼,main是一個(gè)藍(lán)本或者app,發(fā)生404錯(cuò)誤或500錯(cuò)誤,會返回一個(gè)Json對象給請求段。
from flask import jsonify from . import main @main.errorhandler(404) def error_404(error): """這個(gè)handler可以catch住所有abort(404)以及找不到對應(yīng)router的處理請求""" response = dict(status=0, message="404 Not Found") return jsonify(response), 404 @main.errorhandler(Exception) def error_500(error): """這個(gè)handler可以catch住所有的abort(500)和raise exeception.""" response = dict(status=0, message="500 Error") return jsonify(response), 400 class MyError(Exception): """自定義錯(cuò)誤類""" pass @main.errorhandler(MyError) def MyErrorHandle(error): response = dict(status=0, message="400 Error") return jsonify(response), 400
藍(lán)本的錯(cuò)誤處理
在藍(lán)本中編寫錯(cuò)誤處理程序有點(diǎn)不同,如果使用errorhandler修飾器,那么只有藍(lán)本中的錯(cuò)誤才會觸發(fā)。如果想注冊全局的錯(cuò)誤處理程序,要用app_errorhandler。
例如:
from . import auth @auth.app_errorhandler(404) def error_404(error): response = dict(status=0, message="404 Not Found") return jsonify(response), 404
總結(jié)
以上就是本文關(guān)于Request的中斷和ErrorHandler實(shí)例解析的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
相關(guān)文章
在Python中實(shí)現(xiàn)貪婪排名算法的教程
這篇文章主要介紹了在Python中實(shí)現(xiàn)貪婪排名算法的教程,也是對學(xué)習(xí)算法的一個(gè)很好的演示,需要的朋友可以參考下2015-04-04python實(shí)現(xiàn)對圖片進(jìn)行旋轉(zhuǎn),放縮,裁剪的功能
今天小編就為大家分享一篇python實(shí)現(xiàn)對圖片進(jìn)行旋轉(zhuǎn),放縮,裁剪的功能,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08理解生產(chǎn)者消費(fèi)者模型及在Python編程中的運(yùn)用實(shí)例
生產(chǎn)者消費(fèi)者模型一般用于體現(xiàn)程序的多線程并發(fā)性,Python的多線程雖然受到GIL控制,但依然可以構(gòu)建隊(duì)列來簡單體現(xiàn)出模型的思路,這里我們就來共同理解生產(chǎn)者消費(fèi)者模型及在Python編程中的運(yùn)用實(shí)例:2016-06-06python中K-means算法基礎(chǔ)知識點(diǎn)
在本篇文章里小編給大家整理的是一篇關(guān)于python中K-means算法基礎(chǔ)知識點(diǎn)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。2021-01-01Python實(shí)現(xiàn)視頻目標(biāo)檢測與軌跡跟蹤流程詳解
通過閱讀相關(guān)文獻(xiàn)及測試,找到了一種基于多模板匹配的改進(jìn)方法,可以對遙感視頻衛(wèi)星中的移動目標(biāo)進(jìn)行探測,并繪制其軌跡。根據(jù)實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),可以比較有效的對運(yùn)動目標(biāo)進(jìn)行跟蹤2023-01-01Pandas數(shù)據(jù)操作分析基本常用的15個(gè)代碼片段
這篇文章主要介紹了Pandas數(shù)據(jù)操作分析基本常用的15個(gè)代碼片段,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09PyCharm 解決找不到新打開項(xiàng)目的窗口問題
這篇文章主要介紹了PyCharm 解決找不到新打開項(xiàng)目的窗口問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01