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

Vik*_*kas 7 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)
Run Code Online (Sandbox Code Playgroud)

源文件名:pysnmpproto.py,第42行

是否有任何任何情况下import psycoelse块永远不会被执行?

Ste*_*ski 5

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

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