python - 可以检测我是否在 Python 的 'except' 子句中吗?

标签 python try-catch except

即,我想要的是:

try:
    print inExceptClause()
    1/0
except Exception:
    print inExceptClause()
print inExceptClause()

...将打印出:

False
True
False

最佳答案

我认为您的处理方式是错误的。您的“用例”似乎是您可以从代码中的多个点调用函数,有时会从异常处理程序中调用它。在该函数中,您想知道是否引发了异常,对吗?

重点是,您不希望在不了解(或应该)调用代码的函数中拥有这种逻辑...理想情况下,您的大多数功能不会有。

也就是说,您可能想要执行该函数,但只是部分执行。所以我建议选择以下两个选项之一:

  1. 将函数拆分为多个函数:一个函数具有额外的功能,并依次调用另一个具有可重用功能的函数。只需在需要时调用您需要的函数即可。

  2. 向函数添加参数:一个简单的 bool 值可能足以插入或排除该函数的一小部分。

现在,这并不是您问题的真正答案,但我感觉您从错误的角度看待问题......因此提出了上述建议。

关于python - 可以检测我是否在 Python 的 'except' 子句中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12966995/

相关文章:

python - 将反引号 (`) + 分数的字符串转换为 float

python - 用另一个数据框中的值替换一个数据框中的零

python - Scrapy 图片下载如何使用自定义文件名

python - 尝试除了奇怪的行为 python 2.7

python - 按列对 NumPy 中的数组进行排序

java - 即使从不抛出异常,使用 try-catch block 是否也很昂贵?

c# - 如何区分不同的普通异常?

java - try-catching 实际上在 Java 中如此笨拙,还是我只是不知道这种优雅的方法?

Python:使用几乎相同的代码 try catch 多个异常

ruby-on-rails - rails 路由:except question