以下是一个示例函数
def temp(data):
a = sample_function_1(data)
a = a[0][0]
b = sample_function_2(data,'no',0,30)
b = b[-1]
c = sample_function_3(data, 'thank', 0, None, 15, 5)
c = c[-2]
print(a, b, c)
return a, b, c
对
sample_function_1
,sample_function_2
和sample_function_3
进行了错误处理。因此,这些函数返回的值不会引起问题,但是对变量a, b, c
进行的计算可能会引发错误。有200多个这样的功能,我需要有效地管理错误。我知道尝试,捕获,除外是一种选择,但是可以采取任何方法来解决此问题。
最佳答案
拥有200个函数来更改所有内容将是一项艰巨的工作,但是您可以尝试使用装饰器,每个函数只能拦截一个错误,但这可能是您情况的一个很好的折衷方案。
def exception_logger(func):
wrapper(*args, **kwargs):
try:
return func(*args, **kwargs)
except IndexError:
...doSomething...
raise
return wrapper
@exception_logger
def temp(data):
...doSomething...
关于python - 如何执行200个功能的错误处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55119201/