Pythonのtryステートメントには2つのスタイルがあります
1つは例外を処理することです(try / exception / else)
2つ目は、例外が発生したかどうかに関係なく、最終的なコードが実行されることです(試行/最終的に)
**try / exception / else style **
try:<ステートメント#実行中のコード
except<ファーストネーム:
< ステートメント#試行部分でトリガーされた場合'name'異常な
except<ファーストネーム、<データ:<ステートメント#トリガーされた場合'name'例外、追加データを取得
else:<ステートメント#例外が発生しない場合
tryの動作原理は、tryステートメントが開始されると、pythonが現在のプログラムのコンテキストでそれをマークするため、例外が発生したときにここに戻ることができます。try句が最初に実行され、次に何が起こるかは実行時間によって異なります。異常があるかどうか。
1、 tryの実行後のステートメントで例外が発生した場合、pythonはtryに戻り、例外に一致する最初のexcept句を実行します。例外が処理された後、制御フローはtryステートメント全体を通過します(新しい場合を除く)例外)。
2、 tryの後のステートメントで例外が発生したが、一致するexcept句がない場合、例外は上位のtryまたはプログラムの先頭に送信されます(これにより、プログラムが終了し、デフォルトのエラーメッセージが出力されます)。
3、 try句の実行中に例外が発生しなかった場合、pythonはelseステートメントの後にステートメントを実行し(elseがある場合)、tryステートメント全体のフローを制御します。
試して/最後にスタイル
try:<ステートメント
finally:<ステートメント#tryを終了するときは常に実行してください
try句の実行時に例外が発生するかどうかに関係なく、Pythonは常にfinally句を実行します。
1、 例外が発生しない場合、pythonはtry句を実行し、次にfinally句を実行して、続行します。
2、 try句で例外が発生した場合、pythonはfinally句の実行に戻り、例外を上位のtryに送信します。制御フローは、tryステートメント全体を通過しません。
try / finalは、例外が発生したかどうかに関係なく、特定のコードが確実に実行されるようにする場合に役立ちます。
これは、ファイルを開くときに、最後に常にファイルをclose()する場合に便利です。
ステートメント句フォームを試す
try:
f=open('file.txt')
exceptIOError,e:
printe
else:
print'wrong'
[ Errno2]Nosuchfileordirectory:'file.txt'
最新のpythonバージョンはtry / exception / finallyをサポートしています
1: xが異常でない場合は、z、iを実行します。
2: xが異常な場合:
1つ:exceptが例外をキャッチした場合、y、iを実行します
2:キャッチされない、iを実行してから、組み込みの例外処理に戻る
try:
x
except(name):
y
else:
z
finally:
i
Recommended Posts