python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Flask框架使用异常捕获

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)

什么是异常捕获?

异常捕获:捕获非正常的页面资源请求

为什么要做异常捕获处理?

因为当项目上线之后就取消了调试模式,当用户请求我们的服务器资源时,如果请求资源不存在,

用户此时就得不到有效的错误反馈,用户就不知道为什么会出错,导致用户体验度非常差。那么我们捕获到了这些常见的错误,然后进行简化处理,反馈给用户,能提高项目的美感和用户体验度。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文