【发布时间】:2019-08-02 18:58:53
【问题描述】:
下面是一个示例函数
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 多个,我需要有效地管理错误。我知道 try, catch, except 是一种选择,但有什么方法可以解决这个问题。
【问题讨论】:
-
听起来问题出在应用程序的整个结构上。如果你有 200 多个函数,而且所有函数的接口都略有不同,那将是完全不可读的。您能否提供更多背景信息?现在这似乎是一个 XY 问题。
-
@jonrsharpe 这 200 个函数与上面的函数类似,只是中间有一些细微的变化。基本上,我正在使用字符串,每个函数都解决了特定公司的特定任务。这行得通吗?
-
什么“小改动”?什么“弦”?什么“特定任务”和“特定公司”?
-
@jonrsharpe 我正在对不同商店的发票进行文本挖掘。不同商店的格式不同。 sample_functions 是解决常见任务的实用函数。变量 a、b、c 需要对从 sample_functions 返回的值进行一些额外的处理。我能够处理来自 sample_functions 的错误,因为它们很常见,但我面临的问题是处理变量 a、b、c 的错误。这些变量 a、b、c 在 200 个函数中很常见,我不知道如何处理错误。这现在清楚了吗?
标签: python python-3.x error-handling try-catch python-decorators