• Flask框架之异常处理和请求钩子


    异常处理

    抛出异常

    在Flask框架中,我们使用abort()方法,抛出异常信息。

    代码如下:

    from flask import abort
    # 抛出异常
    @app.route('/error')
    def error():
        return abort(404)

    捕获和处理异常

    在Flask框架中,我们使用@app.errorhandler()装饰器,实现异常的捕获和处理。

    代码如下:

    # 捕获异常
    @app.errorhandler(404)
    def error_action(e):
        # 必须接受一个参数e
        return 'error....'

    请求钩子

    before_first_request(第一次请求之前执行)

    在Flask框架中,我们可以使用@app.before_first_request装饰器,来实现钩子函数。

    代码如下:

    # 第一请求之前执行
    @app.before_first_request
    def before_first_request():
        print('before_first_request')

    before_request(每次请求之前执行)

    在Flask框架中,我们可以使用@app.before_request装饰器,来实现钩子函数。

    代码如下:

    # 每次请求之前执行
    @app.before_request
    def before_request():
        print('before_request')

    after_request(每次请求后执行,不出现异常)

    在Flask框架中,我们可以使用@app.after_request装饰器,来实现钩子函数。

    代码如下:

    # 每次请求后执行,不能出现异常
    @app.after_request
    def after_request(response):
        # response参数不能缺少,且必须响应
        print('after_request')
        return response

    teardown_request(每次请求后执行,接收处理异常)

    在Flask框架中,我们可以使用@app.teardown_request装饰器,来实现钩子函数。

    代码如下:

    # 每次请求后执行,捕获并处理异常
    @app.teardown_request
    def teardown_request(e):
        # 必须接收参数e
        print(e)
        print('teardown_request')
    该花的钱要花,该吃的饭要吃。
  • 相关阅读:
    太忙了
    Delphi 的接口(2) 第一个例子
    Delphi 的接口(3) 关于接口的释放
    VS.NET让我做了一场恶梦
    [推荐阅读]The Best Of .The NET 1.x Years
    向大家说声对不起
    [致歉]16:30~17:10电信网络出现问题
    服务器恢复正常
    [SharePoint]更改活动目录(AD)中用户名的问题
    [正式决定]博客园开始接受捐助
  • 原文地址:https://www.cnblogs.com/chao666/p/12397230.html
Copyright © 2020-2023  润新知