Flask框架使用异常捕获问题
作者:Vax_Loves_1314
这篇文章主要介绍了Flask框架使用异常捕获问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
Flask框架使用异常捕获
abort 方法
抛出一个给定状态代码的 HTTPException,例如想要用一个页面未找到异常来终止请求,你可以调用 abort(404)。
参数:code – HTTP的错误状态码
abort(404)
只能抛出HTTP协议的状态码
errorhandler 装饰器
注册一个错误处理程序,当程序抛出指定错误状态码的时候,就会调用该装饰器所装饰的方法
参数:code_or_exception – HTTP的错误状态码或指定异常
例如统一处理状态码为500的错误给用户友好的提示:
@app.errorhandler(404) def internal_server_error(e): return '网页找不到了', 404
开启调试模式
开发时启动调试模式, 可以在浏览器中和编辑器控制台显示错误信息
if __name__ == '__main__': app.run(debug=True)
Flask基础-->错误捕获(异常捕获)
错误捕获(异常捕获)
from flask import Flask
from flask import abort
app = Flask(__name__)
@app.route('/demo1')
def demo1():
# print(403)
# abort(404) # 主动抛出404错误,下面的代码不在执行
print("404")
return 'demo1'
#=====================================
# 当我们访问http://127.0.0.1:5000/demo3时,由于找不到页面而抛出404错误,那么demo2就会捕获这个错误
#=====================================
@app.errorhandler(404) # 捕获404错误
def demo2(error): # error接收errorhandler(404)返回的错误内容
return "哎呀,页面不见了......"
if __name__ == '__main__':
app.run(debug = True)什么是异常捕获?
异常捕获:捕获非正常的页面资源请求
为什么要做异常捕获处理?
因为当项目上线之后就取消了调试模式,当用户请求我们的服务器资源时,如果请求资源不存在,
用户此时就得不到有效的错误反馈,用户就不知道为什么会出错,导致用户体验度非常差。那么我们捕获到了这些常见的错误,然后进行简化处理,反馈给用户,能提高项目的美感和用户体验度。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
