以下是示例函数
var imageView: UIImageView = {
let img = UIImageView()
img.pin_setImage(from: yourDreamInstance.imageUrl)
return img
}()
对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
进行的计算可能会引发错误。
有200多个这样的功能,我需要有效地管理错误。我知道可以尝试尝试,捕获,除外,但是可以采取任何方法来解决此问题。
答案 0 :(得分:0)
我认为您可以只定义一个函数,并且可以在任何函数中的任何except块中调用exception_logger函数。
import traceback
def exception_logger():
exception_log = traceback.format_exc().splitlines()
exception_log.append(str(datetime.now()))
print exception_log
return exception_log
def hello():
try:
print("Hello World!")
except Exception as e:
exception_logger()
答案 1 :(得分:0)
可以使用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...