7

我在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,第 42 行

是否有任何情况下会执行其中一个import psyco或块?else

4

1 回答 1

5

import psyco由于上一行引发的异常,永远不会到达。该异常将被该except子句捕获,在这种情况下它什么也不做。else永远不会到达该子句,因为只有在您的try子句无例外地执行时您才能到达它。

简而言之,这段代码总是会引发异常,捕获它,然后什么也不做。它应该被删除。

于 2012-04-23T13:02:57.363 回答