Python異常処理:個別raise
853 ワード
オープンソースコードを読むと、raiseの単独使用、例えば
これは最近発生した異常を再び投げ出し、上層部に渡して処理します.△私はこの異常が発生して捕獲されたことを知っていますが、私は処理をしないで、私の上層から処理を呼び出します.https://docs.python.org/2/library/sys.html?highlight=sys#module-sys If the current stack frame is not handling an exception, the information is taken from the calling stack frame, or its caller, and so on until a stack frame is found that is handling an exception. 例:
結果:
まず内層IOError異常に捕獲され、「inner exception」を印刷し、その後同じ異常を放出し、外層のexceptに捕獲され、「outter exception」を印刷する
try:
do something
except IOError:
raise
これは最近発生した異常を再び投げ出し、上層部に渡して処理します.△私はこの異常が発生して捕獲されたことを知っていますが、私は処理をしないで、私の上層から処理を呼び出します.https://docs.python.org/2/library/sys.html?highlight=sys#module-sys If the current stack frame is not handling an exception, the information is taken from the calling stack frame, or its caller, and so on until a stack frame is found that is handling an exception. 例:
try:
try:
raise IOError
except IOError:
print "inner exception"
raise #
except IOError:
print "outter exception"
結果:
inner exception
outter exception
まず内層IOError異常に捕獲され、「inner exception」を印刷し、その後同じ異常を放出し、外層のexceptに捕獲され、「outter exception」を印刷する