1. 程式人生 > >python-flask:裝飾器實現檢視整體捕獲異常

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