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 に答える