python - 检查函数是否在 try 子句中被调用

标签 python attributes getter-setter try-except

我正在编写一个 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/

相关文章:

python - 如何加载文件选择器对话框

python - 实例方法应该写在类层次结构中的什么位置?

asp.net-mvc - ASP.Net MVC Controller 属性是在操作之前还是之后执行?

Python 'AttributeError: '函数'对象没有属性 'min''

python - 为什么1是可以的,但是2是错误的,使用django和jquery

python - Beautiful Soup 查找 html 页面其他标签之间所有出现的标签

自定义 View 中的 Android 属性

javascript - 使用相同的 getter 和 setter 创建多个属性

java - 用Java读取CSV文件并从读取的文件中提取某些数据

java - Struts2 getters和setters,intellij说他们没有被使用