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