有关异常处理的文档往往专注于使用特定的异常类型--这总体上是一个很好的建议.
然而,有时我想运行一些Python代码,under no circumstances会引发未处理的异常并停止程序运行:
例如,图形应用程序可能运行用户定义的脚本.我不知道该脚本会触发哪些错误,因此判断特定错误没有用:
try:
run_script_file(filepath)
except:
import traceback
print("Script:", filepath, "failed with error!")
traceback.print_exc()
这是可行的,但代码判断工具警告不应使用bare except
.虽然我可以在每种情况下压制警告,但我正在考虑使用except BaseException:
来压制警告.
裸的except:
guaranteed是否相当于except BaseException:
,或者裸的例外可能会捕获BaseException
不会捕获的异常,是否存在细微差异?