python记录异常的修饰器

将每个方法中的try...catch...抽出来,写成一个修饰器,代码简单更容易维护

from functools import wraps
def log_exception(func):
    @wraps(func)
    def wrapper(*args, **kwargs):
        try:
            return func(*args, **kwargs)
        except Exception as e:
            logintofile("[error in {}] message: {}
args:{}
kwargs:{}"
                        .format(func.__name__, str(e), args, kwargs))
        return None
    return wrapper

如果func抛出异常,则返回None

如果需要自定义异常时的返回结果,可以将修饰器带上参数(python带参和不带参修饰器

原文地址:https://www.cnblogs.com/ice5/p/14831410.html