Request的中斷和ErrorHandler實(shí)例解析
概述
在view函數(shù)中,如果需要中斷request,可以使用abort(500)或者直接raise exception。當(dāng)然我們還需要返回一個(gè)出錯(cuò)信息給前端,所以需要定制一下ErrorHandler。一般只需要兩個(gè)個(gè)handler即可,一個(gè)是404錯(cuò)誤,一個(gè)是500一類(lèi)的服務(wù)器端錯(cuò)誤。當(dāng)然也可以自定義錯(cuò)誤。
代碼清單
下面是一份示例代碼,main是一個(gè)藍(lán)本或者app,發(fā)生404錯(cuò)誤或500錯(cuò)誤,會(huì)返回一個(gè)Json對(duì)象給請(qǐng)求段。
from flask import jsonify from . import main @main.errorhandler(404) def error_404(error): """這個(gè)handler可以catch住所有abort(404)以及找不到對(duì)應(yīng)router的處理請(qǐng)求""" 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ò)誤類(lèi)""" pass @main.errorhandler(MyError) def MyErrorHandle(error): response = dict(status=0, message="400 Error") return jsonify(response), 400
藍(lán)本的錯(cuò)誤處理
在藍(lán)本中編寫(xiě)錯(cuò)誤處理程序有點(diǎn)不同,如果使用errorhandler修飾器,那么只有藍(lán)本中的錯(cuò)誤才會(huì)觸發(fā)。如果想注冊(cè)全局的錯(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í)例解析的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專(zhuān)題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
相關(guān)文章
詳解Python 數(shù)據(jù)庫(kù) (sqlite3)應(yīng)用
本篇文章主要介紹了Python標(biāo)準(zhǔn)庫(kù)14 數(shù)據(jù)庫(kù) (sqlite3),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。2016-12-12
Python hashlib庫(kù)數(shù)據(jù)安全加密必備指南
這篇文章主要為大家介紹了Python hashlib庫(kù)數(shù)據(jù)安全加密的使用實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
深度學(xué)習(xí)TextRNN的tensorflow1.14實(shí)現(xiàn)示例
這篇文章主要介紹了深度學(xué)習(xí)TextRNN的tensorflow1.14實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
python字典各式各樣操作從基礎(chǔ)到高級(jí)全面示例詳解
在Python中,字典(Dictionary)是一種強(qiáng)大而靈活的數(shù)據(jù)結(jié)構(gòu),它允許你存儲(chǔ)和檢索鍵值對(duì),本文將深入探討Python中各式各樣的字典操作,包括基本操作、高級(jí)操作以及一些實(shí)用的技巧,通過(guò)全面的示例代碼,將展示如何充分發(fā)揮字典在Python編程中的優(yōu)勢(shì)2023-12-12
Pandas groupby apply agg 的區(qū)別 運(yùn)行自定義函數(shù)說(shuō)明
這篇文章主要介紹了Pandas groupby apply agg 的區(qū)別 運(yùn)行自定義函數(shù)說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
Python中如何使用pypandoc進(jìn)行格式轉(zhuǎn)換操作
這篇文章主要介紹了Python中如何使用pypandoc進(jìn)行格式轉(zhuǎn)換操作,pypandoc是一個(gè)強(qiáng)大的文檔轉(zhuǎn)換工具,它可以將各種標(biāo)記語(yǔ)言轉(zhuǎn)換為不同的格式,支持多種輸入和輸出格式,并允許用戶(hù)添加自定義樣式、模板和過(guò)濾器2021-06-06
Python使用回溯法子集樹(shù)模板獲取最長(zhǎng)公共子序列(LCS)的方法
這篇文章主要介紹了Python使用回溯法子集樹(shù)模板獲取最長(zhǎng)公共子序列(LCS)的方法,簡(jiǎn)單描述了最長(zhǎng)公共子序列問(wèn)題并結(jié)合實(shí)例形式分析了Python基于回溯法子集樹(shù)模板獲取最長(zhǎng)公共子序列的操作步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-09-09
利用python模擬實(shí)現(xiàn)POST請(qǐng)求提交圖片的方法
最近在利用python做接口測(cè)試,其中有個(gè)上傳圖片的接口,在網(wǎng)上各種搜索,各種嘗試。下面這篇文章主要給大家介紹了關(guān)于利用python模擬實(shí)現(xiàn)POST請(qǐng)求提交圖片的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-07-07

