是否有可能在python中引发后执行语句?

时间:2012-04-23 12:48:37

标签: 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块被执行?

1 个答案:

答案 0 :(得分:4)

由于前一行引发的异常,永远无法访问

import psycoexcept子句将捕获该异常,在这种情况下,该子句不执行任何操作。永远不会达到else子句,因为只有在try子句无异常地执行时才能到达它。

简而言之,此代码将始终引发异常,捕获它,并且不执行任何其他操作。它应该被删除。