python - python中raise后是否可以执行一条语句?

标签 python import try-catch

我在 TwistedSNMP 中找到了以下代码图书馆:

try:
  raise ImportError
  import psyco
except ImportError, err:
  pass
else:
  from pysnmp.asn1 import base
  psyco.bind(base.SimpleAsn1Object)  psyco.bind(base.Asn1Object)

源文件名:pysnmpproto.py, Line 42

import psycoelse block 是否会被执行?

最佳答案

import psyco 由于上一行引发的异常,将永远无法到达。该异常将被 except 子句捕获,在本例中该子句不执行任何操作。永远不会到达 else 子句,因为只有当您的 try 子句无一异常(exception)地执行时才能到达它。

简而言之,这段代码总是会抛出一个异常,捕获它,然后什么都不做。应该删除。

关于python - python中raise后是否可以执行一条语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10280874/

相关文章:

python - 将多个excel文件导入Python,合并文件名并将其应用于新列

java - 如何在不编写多个 if 语句或 try block 的情况下跳过对象中的空项?

python - 如何搜索具有相同列值的行并在不存在时插入行?

python - 导入错误 : No module named schedule

python - 将列从 csv 动态导入到 sqlite3 和 python 中的数据库表中

c# - 在 Web 请求的 "try/catch"语句中嵌入 "using"是否可以?我的代码正确吗?

python - 有没有办法在不进行硬编码的情况下编写相同的 try- except 多行代码? Python

python - 为什么计算优先附着是昂贵的?

python - pygame.key.get_pressed() 和 event.type 有什么区别?

python - 沿 numpy 数组的一个轴随机保留不为零的单个元素