Flask框架使用異常捕獲問題
Flask框架使用異常捕獲
abort 方法
拋出一個(gè)給定狀態(tài)代碼的 HTTPException,例如想要用一個(gè)頁面未找到異常來終止請求,你可以調(diào)用 abort(404)。
參數(shù):code – HTTP的錯(cuò)誤狀態(tài)碼
abort(404)
只能拋出HTTP協(xié)議的狀態(tài)碼
errorhandler 裝飾器
注冊一個(gè)錯(cuò)誤處理程序,當(dāng)程序拋出指定錯(cuò)誤狀態(tài)碼的時(shí)候,就會(huì)調(diào)用該裝飾器所裝飾的方法
參數(shù):code_or_exception – HTTP的錯(cuò)誤狀態(tài)碼或指定異常
例如統(tǒng)一處理狀態(tài)碼為500的錯(cuò)誤給用戶友好的提示:
@app.errorhandler(404) def internal_server_error(e): ? ? return '網(wǎng)頁找不到了', 404
開啟調(diào)試模式
開發(fā)時(shí)啟動(dòng)調(diào)試模式, 可以在瀏覽器中和編輯器控制臺(tái)顯示錯(cuò)誤信息
if __name__ == '__main__': ? ? app.run(debug=True)
Flask基礎(chǔ)-->錯(cuò)誤捕獲(異常捕獲)
錯(cuò)誤捕獲(異常捕獲)
from flask import Flask
from flask import abort
app = Flask(__name__)
@app.route('/demo1')
def demo1():
# print(403)
# abort(404) # 主動(dòng)拋出404錯(cuò)誤,下面的代碼不在執(zhí)行
print("404")
return 'demo1'
#=====================================
# 當(dāng)我們訪問http://127.0.0.1:5000/demo3時(shí),由于找不到頁面而拋出404錯(cuò)誤,那么demo2就會(huì)捕獲這個(gè)錯(cuò)誤
#=====================================
@app.errorhandler(404) # 捕獲404錯(cuò)誤
def demo2(error): # error接收errorhandler(404)返回的錯(cuò)誤內(nèi)容
return "哎呀,頁面不見了......"
if __name__ == '__main__':
app.run(debug = True)什么是異常捕獲?
異常捕獲:捕獲非正常的頁面資源請求
為什么要做異常捕獲處理?
因?yàn)楫?dāng)項(xiàng)目上線之后就取消了調(diào)試模式,當(dāng)用戶請求我們的服務(wù)器資源時(shí),如果請求資源不存在,
用戶此時(shí)就得不到有效的錯(cuò)誤反饋,用戶就不知道為什么會(huì)出錯(cuò),導(dǎo)致用戶體驗(yàn)度非常差。那么我們捕獲到了這些常見的錯(cuò)誤,然后進(jìn)行簡化處理,反饋給用戶,能提高項(xiàng)目的美感和用戶體驗(yàn)度。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解appium自動(dòng)化測試工具(monitor、uiautomatorviewer)
這篇文章主要介紹了詳解appium自動(dòng)化測試工具(monitor、uiautomatorviewer),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
python 多進(jìn)程共享全局變量之Manager()詳解
這篇文章主要介紹了python 多進(jìn)程共享全局變量之Manager()詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
使用Python實(shí)現(xiàn)圖像有效壓縮的方法
在數(shù)字時(shí)代,圖像作為信息傳遞的重要媒介,在網(wǎng)頁設(shè)計(jì)、移動(dòng)應(yīng)用和多媒體制作中扮演著不可或缺的角色,本文將詳細(xì)介紹如何使用Python,一個(gè)功能強(qiáng)大且易于學(xué)習(xí)的編程語言,來實(shí)現(xiàn)圖像的有效壓縮,感興趣的朋友可以參考下2024-03-03
關(guān)于tf.nn.dynamic_rnn返回值詳解
今天小編就為大家分享一篇關(guān)于tf.nn.dynamic_rnn返回值詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Django多數(shù)據(jù)庫聯(lián)用實(shí)現(xiàn)方法解析
這篇文章主要介紹了Django多數(shù)據(jù)庫聯(lián)用實(shí)現(xiàn)方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
Python進(jìn)行圖片驗(yàn)證碼識(shí)別方法步驟
這篇文章主要給大家介紹了關(guān)于Python進(jìn)行圖片驗(yàn)證碼識(shí)別的相關(guān)資料,基于Python和OpenCV的驗(yàn)證碼識(shí)別系統(tǒng)具有重要的研究意義和實(shí)際應(yīng)用價(jià)值,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09
Python實(shí)現(xiàn)PS濾鏡碎片特效功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)PS濾鏡碎片特效功能,結(jié)合實(shí)例形式分析了Python實(shí)現(xiàn)PS濾鏡碎片效果的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2018-01-01

