2017-03-04 11 views
0

で式:は最終的に次のコードを実行するのpython

3 [OK] 6私は理解していないおっとOK OK OKブーム

を:

click here

を私は次の出力を得ましたなぜ彼は大胆な大丈夫を印刷しますか?彼はループに入っていない。

私はを取得したいと思っています。は、例外と最終的にはどのように動作するかを理解しています。

ありがとうございます!

+1

イメージにコードを表示しないでください。手伝ってくれる人は誰でも手でコードを書く必要があるので、あなたを助けるのは難しいです。 – elbaulp

+2

質問**にコード**は含まれていませんが(ただし、リンクの後ろにあるだけです)、実際にはMCVEに近いものとして条件を満たしています。ルールの言葉通り:*デバッグのヘルプを求める質問(「なぜこのコードは動作しませんか?」)には、目的の動作、特定の問題またはエラー、それを再現するのに必要な最短コードが含まれていなければなりません** *。* –

答えて

1

コードfinallyブロックは、try-catchブロックを離れる前に常に実行されます。例外がキャッチされてもブロックfinallyのコードが実行されます。 Pythonでexception handlingの詳細な説明については

python 3 documentation

0

を参照してくださいofficial specは最終的に存在する場合、それは「クリーンアップ」ハンドラを指定

です。 except句とelse句を含むtry句が実行されます。いずれかの句で例外が発生し、処理されない場合、例外は一時的に保存されます。 finally句が実行されます。保存された例外がある場合、finally節の終わりにre-raisedされます。 finally句で別の例外が発生すると、保存された例外が新しい例外のコンテキストとして設定されます。 finally節は、返品またはブレーク文を実行した場合、保存された例外は破棄されます:あなたのループの4回目の繰り返しで起こるだから何

number"a"に設定されている、あなたはint例外に変換しようとすると、上昇する。内側のが一致しないので、例外は保存され、finallyブロックが実行され、okが出力され、保存された例外が再度読み込まれ、外側のtryブロックによってキャッチされます。

関連する問題