我正在编写一个 API,并且使用了一些托管属性,因为它们是从网络检索的,因此可能会生成错误。
在 getter-setter 内部,我想检查 API 用户是否在属性 get/set 周围使用了 try 子句。
def getter_or_setter():
try:
network_operations()
except:
if called_inside_try():
raise
else:
log.error('error string')
最佳答案
第一件事:我没有你的问题的答案,也不知道是否真的可以确定你的函数是否是从 try block 调用的:)
话虽这么说,但我确信这是一件奇怪的事情。您应该根据显式参数或调用函数的替代方式,将引发异常或静默失败的决定留给调用者。
举个例子,我相信你应该考虑 dict
如何处理丢失的键:
- 使用
d['missing']
时,字典会引发KeyError
- 调用者可以选择使用
d.get('missing')
来避免异常。
关于python - 检查函数是否在 try 子句中被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16895668/