有没有可能开发一个decorator来确定一个函数是否在没有崩溃的情况下成功完成?类似于下面的decorator,但它必须检测函数是否成功运行。你知道吗
def functionStartDecorator():
print("Function has started")
def decoratorWrapper(functionToBeDecorated):
def wrapper(*args, **kwargs):
#Todo log function has run
return functionToBeDecorated(*args, **kwargs)
return wrapper
return decoratorWrapper
正如在注释中所说的,最简单的方法是将函数包装为try/except。如果您的函数不返回任何内容,只是通过副作用进行操作,那么让修饰函数返回该函数的运行状态应该很简单:
然后可以调整decorned的确切返回类型:可能返回布尔值,可能将函数的状态附加到
f
的返回,可能记录事情。。。核心原则可能仍然围绕着修饰函数中的try/except
。例如,如果要同时返回返回值(如果失败,则返回None
)和是否成功:请注意,在本例中,您正在丢失有关确切错误的信息,因此您可能希望扩展返回以包括成功、失败、错误等。。。这就变成了方便性和完整性之间的权衡,这取决于你的具体问题。你知道吗
我做了这样的事。你看到这个代码有什么问题吗?你知道吗
相关问题 更多 >
编程相关推荐