Flask框架使用異常捕獲問(wèn)題
Flask框架使用異常捕獲
abort 方法
拋出一個(gè)給定狀態(tài)代碼的 HTTPException,例如想要用一個(gè)頁(yè)面未找到異常來(lái)終止請(qǐng)求,你可以調(diào)用 abort(404)。
參數(shù):code – HTTP的錯(cuò)誤狀態(tài)碼
abort(404)
只能拋出HTTP協(xié)議的狀態(tài)碼
errorhandler 裝飾器
注冊(cè)一個(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)頁(yè)找不到了', 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)我們?cè)L問(wèn)http://127.0.0.1:5000/demo3時(shí),由于找不到頁(yè)面而拋出404錯(cuò)誤,那么demo2就會(huì)捕獲這個(gè)錯(cuò)誤
#=====================================
@app.errorhandler(404) # 捕獲404錯(cuò)誤
def demo2(error): # error接收errorhandler(404)返回的錯(cuò)誤內(nèi)容
return "哎呀,頁(yè)面不見了......"
if __name__ == '__main__':
app.run(debug = True)什么是異常捕獲?
異常捕獲:捕獲非正常的頁(yè)面資源請(qǐng)求
為什么要做異常捕獲處理?
因?yàn)楫?dāng)項(xiàng)目上線之后就取消了調(diào)試模式,當(dāng)用戶請(qǐng)求我們的服務(wù)器資源時(shí),如果請(qǐng)求資源不存在,
用戶此時(shí)就得不到有效的錯(cuò)誤反饋,用戶就不知道為什么會(huì)出錯(cuò),導(dǎo)致用戶體驗(yàn)度非常差。那么我們捕獲到了這些常見的錯(cuò)誤,然后進(jìn)行簡(jiǎn)化處理,反饋給用戶,能提高項(xiàng)目的美感和用戶體驗(yàn)度。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
win10從零安裝配置pytorch全過(guò)程圖文詳解
這篇文章主要介紹了win10從零安裝配置pytorch全過(guò)程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
Python調(diào)用DeepSeek?API的案例詳細(xì)教程
這篇文章主要為大家詳細(xì)介紹了以?Python?為例的調(diào)用?DeepSeek?API?的小白入門級(jí)詳細(xì)教程,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2025-02-02
Python的Matplotlib庫(kù)應(yīng)用實(shí)例超詳細(xì)教程
這篇文章主要介紹了Python的Matplotlib庫(kù)應(yīng)用的相關(guān)資料,Matplotlib是一個(gè)強(qiáng)大的Python數(shù)據(jù)可視化庫(kù),支持繪制2D和3D圖像,它提供了簡(jiǎn)單易用的API,廣泛應(yīng)用于數(shù)據(jù)分析和科學(xué)研究,需要的朋友可以參考下2025-01-01
如何使用matplotlib讓你的數(shù)據(jù)更加生動(dòng)
數(shù)據(jù)可視化用于以更直接的表示方式顯示數(shù)據(jù),并且更易于理解,下面這篇文章主要給大家介紹了關(guān)于如何使用matplotlib讓你的數(shù)據(jù)更加生動(dòng)的相關(guān)資料,需要的朋友可以參考下2021-11-11
python跳過(guò)第一行快速讀取文件內(nèi)容的實(shí)例
今天小編就為大家分享一篇python跳過(guò)第一行快速讀取文件內(nèi)容的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07

