首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python重新调整/重新匹配异常

Python重新调整/重新匹配异常
EN

Stack Overflow用户
提问于 2011-06-10 05:51:36
回答 3查看 14.7K关注 0票数 16

我想知道在python中是否可以在一个except块中引发异常,并在以后的except块中捕获它。我相信其他一些语言在默认情况下会这样做。

下面是它看起来的样子。

代码语言:javascript
复制
try:
   something
except SpecificError as ex:
   if str(ex) = "some error I am expecting"
      print "close softly"
   else:
      raise
except Exception as ex:
   print "did not close softly"
   raise

我希望else子句中的raise触发最后的except语句。

实际上,除了记录之外,我没有打印任何东西,并且我希望在错误消息不是我所期望的情况下记录更多。但是,这个额外的日志记录将被包含在最终版本中,除了。

我认为一种解决方案是,如果一个函数没有柔和地关闭,就制作一个函数,这在最终的except和else子句中被调用。但这似乎没有必要。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-10 05:54:10

只调用try块中的单个except子句。如果您希望异常被捕获到更高的位置,那么您将需要使用嵌套的try块。

票数 18
EN

Stack Overflow用户

发布于 2011-06-10 05:56:01

像这样写2个try...except代码块怎么样:

代码语言:javascript
复制
try:
    try:
       something
    except SpecificError as ex:
       if str(ex) == "some error I am expecting"
          print "close softly"
       else:
          raise ex
except Exception as ex:
   print "did not close softly"
   raise ex
票数 20
EN

Stack Overflow用户

发布于 2011-06-10 05:59:29

根据python tutorial,每个try语句有且只有一个捕获的异常。你可以在教程中找到非常简单的例子,它也将向你展示如何正确地使用错误格式。

不管怎样,为什么你真的需要第二个呢?你能提供更多关于这方面的细节吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6299756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档