python - 你能用Python解释一下这个代码片段吗

标签 python exception

我是 python 新手,需要一些帮助来理解此代码片段:

for c in [B, C, D]:
   try:
      raise c()
   except D:
      print "D"
    except C:
      print "C"
    except B:
      print "B"

阅读 python 文档,似乎 raise() 抛出异常,但我无法弄清楚为什么 raise() 位于 try block 。不应该是这样的吗:

try:
    //do something
catch:
    raise()

最佳答案

raise 是您首先引发异常的方式。异常处理程序中的单独引发仅将异常传播到外部处理程序。

关于python - 你能用Python解释一下这个代码片段吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8116969/

相关文章:

python - 如何使用cherrypy在 Bottle 中启用gzip压缩

python 上下文管理器不传递异常

java - 堆栈跟踪中的数字是什么意思?

c++ - std::exception_ptr 线程安全吗?

java - 如何从枚举构造函数中抛出异常

c# - 如何找到在 C# 中抛出的异常的异常类型?

python - 我将嵌套列表作为 Python 字典的条目。如何打印第一个元素为 "S"的嵌套列表?

python - 树遍历并在Python中获取相邻的子节点

python - 如果我在不同的目录中有 Python 2.7,如何安装 Python 2.7 devel

python - 执行 2 个单独查询时 MySQL Innodb 事务中的并发