python - 处理除一个异常外的所有异常

标签 python exception exception-handling error-handling

如何处理除一个异常之外的所有异常?

try:
    something
except <any Exception except for a NoChildException>:
    # handling

类似这样,除了不破坏原始回溯:

try:
    something
except NoChildException:
    raise NoChildException
except Exception:
    # handling

最佳答案

答案是简单地做一个简单的raise:

try:
    ...
except NoChildException:
    # optionally, do some stuff here and then ...
    raise
except Exception:
    # handling

这将重新引发上次抛出的异常,原始堆栈跟踪完好无损(即使它已被处理!)。

关于python - 处理除一个异常外的所有异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16123529/

相关文章:

python - 是否有可能知道两个 python 函数在功能上是否等效?

python - 使用 Python 在带有空白图 block 的拼字游戏中搜索单词列表

java - 打印露天异常

php - 为什么必须手动抛出异常?

java - 什么是抑制异常?

ruby-on-rails - 当处理文件 before_save 时出错,验证后,我应该引发异常还是返回 false 并添加错误?

python - 文本小部件不显示 Unicode 字符

java - 我的 bin 文件夹中出现奇怪的类文件

c++11 - 是否有一个packaged_task::set_exception等效项?

java - 在Java中执行未知的Python脚本