即,我想要的是:
try:
print inExceptClause()
1/0
except Exception:
print inExceptClause()
print inExceptClause()
...将打印出:
False
True
False
最佳答案
我认为您的处理方式是错误的。您的“用例”似乎是您可以从代码中的多个点调用函数,有时会从异常处理程序中调用它。在该函数中,您想知道是否引发了异常,对吗?
重点是,您不希望在不了解(或应该)调用代码的函数中拥有这种逻辑...理想情况下,您的大多数功能不会有。
也就是说,您可能想要执行该函数,但只是部分执行。所以我建议选择以下两个选项之一:
将函数拆分为多个函数:一个函数具有额外的功能,并依次调用另一个具有可重用功能的函数。只需在需要时调用您需要的函数即可。
向函数添加参数:一个简单的 bool 值可能足以插入或排除该函数的一小部分。
现在,这并不是您问题的真正答案,但我感觉您从错误的角度看待问题......因此提出了上述建议。
关于python - 可以检测我是否在 Python 的 'except' 子句中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12966995/