Skip to main content
 首页 » 编程设计

python之如何在 python 中捕获 finally 异常子句的消息

2025年05月04日13del

我知道如何捕获异常并打印它们返回的消息:

class SelfDefinedException(Exception): pass 
 
try: 
    message = "Hello World!" 
    raise SelfDefinedException(message) 
except MyDefinedException, e: 
    print "MyDefinedException", e 

到目前为止效果很好。

但是我怎样才能捕捉并打印“finally”子句中的消息呢?

class SelfDefinedException(Exception): pass 
 
try: 
    message = "Hello World!" 
    raise SelfDefinedException(message) 
except MyDefinedException, e: 
    print "MyDefinedException", e 
finally: 
    # What goes here? So I can see what went wrong? 

从几个答案我了解到,这是不可能的。可以做这样的事情吗?

class SelfDefinedException(Exception): pass 
 
try: 
    message = "Hello World!" 
    raise SelfDefinedException(message) 
except MyDefinedException, e: 
    print "MyDefinedException", e 
except Exception, e: 
    # Hopefully catches all messages except for the one of MyDefinedException 
    print "Unexpected Exception raised:", e 

请您参考如下方法:

finally block 中的代码将始终被评估。检查 catch block 中出了什么问题