编写一个特定的装饰器,当程序发生异常时可以继续执行后续操作:
# 定义一个修饰器:当程序发生异常的时候保存其日志信息
def save_exception_log(func):
def wrapper(*args, **kw):
try:
return func(*args, **kw)
except:
# 1.获取原始功能函数的path参数值
path = args[0]
# 2.保存日志操作
print("保存日志操作")
return wrapper
@save_exception_log
def func_test(path:str, param1:str, param2:str)->None:
"""测试功能."""
print("path:"+path)
print("param1:"+param1)
print("param2:"+param2)
a=1/0
func_test("文件路径","参数1","参数2")
执行上述代码,其输出结果为:
path:文件路径 param1:参数1 param2:参数2 保存日志操作
如果将上述func_test方法调用的传参方式进行了下述修改,则修饰器中的获取函数参数值的方法也要做想应的调整:
# 定义一个修饰器:当程序发生异常的时候保存其日志信息 def save_exception_log



