python-flask:装饰器实现视图整体捕获异常

小编想实现,视图中没有捕获到的异常,利用装饰器进行整体捕获,目的是为了保证程序的完整执行,也保证项目的良好运行。

装饰器代码如下:

闭包函数如下:
def _error_decorator():
    def decorator(fn):
        @wrap(fn)
        def wrapped(*args, **kwargs):
            try:
                return fn(*args, **kwargs)
            except Exception as error:
                return str(e), 503
        return wrapped
    return decorator

接下来就是如何去使用装饰器了,代码如下:

@app.route('视图的路由', methods=['GET', 'POST', 'PUT', 'DELETE'])
@_error_decorator
def do_work():
    pass
    return json.dumps(json_data), 200




猜你喜欢

转载自blog.csdn.net/Odyssues_lee/article/details/83413207
今日推荐