开发者

Flask框架使用异常捕获问题

开发者 https://www.devze.com 2022-12-21 09:39 出处:网络 作者: Vax_Loves_1314
目录Flask框架使用异常捕获abort 方法error开发者_Go入门handler 装饰器开启调试模式Flask基础-->错误捕获(异常捕获)错误捕获(异常捕获)总结Flask框架使编程用异常捕获
目录
  • Flask框架使用异常捕获
  • Flask基础-->错误捕获(异常捕获)
    • 错误捕获(异常捕获)
  • 总结

    Flask框架使编程用异常捕获

    abort 方法

    抛出一个给定状态代码的 HTTPException,例如想要用一个页面未找到异常来终止请求,你可以调用 abort(404)。

    参数:code – HTTP的错误状态码

    abort(404)

    只能抛出HTTP协http://www.devze.com议的状态码

    errorhandler 装饰器

    注册一个错误处理程序,当程序抛出指定错误状态码的时候,就会调用该装饰器所装饰的方法

    参数:code_or_exceptiohttp://www.devze.comn – HTTP的错误状http://www.devze.com态码或指定异常

    例如统一处理状态码为500的错误给用户友好的提示:

    @app.errorhandler(404)
    def internal_server_error(e):
      return '网页找不到了', 404

    开启调试模式

    开发时启动调试模式, 可以在浏览器中和编辑器控制台http://www.devze.com显示错误信息

    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)

    什么是异常捕获?

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

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

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

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

    总结

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

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号