除了像SyntaxError
或AssertionError
之类的一些你想要永远不被捕获的异常之外,什么可能是一种捕捉所有异常的pythonic方式?
我们想要迭代大量输入文件的动机是,当只有一个或几个文件无法处理时,使用try
可以优雅地继续。抓住SyntaxError
,AssertionError
这样的内容会太多而无法继续运行,因为它们意味着代码破坏的程度远高于我们想要放弃的任何代码。
在更深层次上,除了python 3的Exception层次结构之外,是否有任何现有的异常分组可以更好地区分异常类型?我发现给定的层次结构非常合理。
答案 0 :(得分:4)
这个怎么样:
try:
# do some stuff here
except SyntaxError:
# do not catch this one
raise
except AssertionError:
# do not catch this one
raise
except Exception:
# catch all the others
答案 1 :(得分:1)
如何广泛地捕获异常,然后检查捕获的异常是否是您要捕获的异常。
enter code here
try:
#code
except Exception:
if Exception == AssertionError:
# do smthg
elseif Exception == SyntaxError:
# do smthg
else:
return