In [8]: def bar(): ...: a = 10 ...: try: ...: raise ...: except: ...: try: ...: raise ...: except: ...: raise ...: finally: ...: return a In [9]: bar() Out[9]: 10
欢迎选择我的课程,让我们一起见证您的进步~~
これは非常に興味深いので、最初にいくつかのコードを実行してみましょう
f() が例外をスローした後、excel で return を実行するようですが、呼び出し元には戻らず、finally でコードの実行を「持続」します。この時点で、finally の本当の意味がようやく理解できました。つまり、return が行われても、finally 内のコードは実行されなければならないということです。
ここで、try に exit メソッドを必要とするステートメントがある場合、finally に return メソッドがある場合はすぐに戻り、前の exit ステートメントは実行されないことも理解できます。 現時点では、このコード文字列を見てみましょう
今すぐ学び、今すぐ販売してください。間違いがある場合は、指摘して修正してください〜
最後に例外がスローされた場合、excel ステートメントは無駄ではありませんか?
これは非常に興味深いので、最初にいくつかのコードを実行してみましょう
1. このコードは、try の層が何層あるかを気にする必要がないことを意味します。実際には、
を除いて例外がスローされない理由を理解するだけで済みます。 リーリー2. このコードは、finally に return ステートメントがある場合は例外がスローされず、return がない場合は例外がスローされることを意味します
リーリー3. 調べてみると、ついに Python を深く理解するためのこの記事が見つかりました。
ここで、try に exit メソッドを必要とするステートメントがある場合、finally に return メソッドがある場合はすぐに戻り、前の exit ステートメントは実行されないことも理解できます。
リーリー現時点では、このコード文字列を見てみましょう
4. この時点で、ついに〜
についてもっと明確になりましたか?今すぐ学び、今すぐ販売してください。間違いがある場合は、指摘して修正してください〜
最後に例外がスローされた場合、excel ステートメントは無駄ではありませんか?