假设一个结构良好的OOP Python应用程序,其中对方法的每次调用都包含在try块中.现在假设我正在调试这个应用程序,我希望实际抛出异常!try:用调试来替换每一行if True:并注释掉"""这些except:部分几乎是不可能的.有没有办法告诉Python解释器特定部分代码抛出的异常应该停止程序执行并将异常信息打印到stdout?
Kubuntu Linux上的Python 2.7.3或3.2.3.
"假设一个结构良好的OOP Python应用程序,其中对方法的每次调用都包含在try块中......"
对我来说,这听起来并不合理.异常处理的基本原则之一是只处理您知道如何处理的例外情况.这是您将看到的常见"不要使用裸露的除外"声明背后的驱动原则:
try:
do_something()
except: #BAD BAD BAD
react_to_exception()
Run Code Online (Sandbox Code Playgroud)
"由特定部分代码抛出"......我们谈论的代码部分有多具体?如果是单个块,您可以随时重新加注:
try:
do_something()
except ValueError as e:
raise e # or `raise` or `raise SomeOtherError() from e` in more modern pythons.
Run Code Online (Sandbox Code Playgroud)