Mojo Academy · レッスン

finallyによる後処理

何が起きてもコードを実行します

レッスン 4/413 ステップ

「finallyによる後処理」はCoddyKit上の無料Mojo Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはMojo Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Mojo Academyコースには全4レッスンが含まれています。

必ず実行されるコード

ファイルを閉じるなど、成功しても失敗しても必ず行う必要がある後処理があります。Mojo の finally ブロックは、それを保証します。🧹

finally を追加する

finally ブロックは try と except の後に置きます。そのコードは、try ブロックがどのように終了しても実行されます。

try:
    use_resource()
finally:
    cleanup()

成功後にも実行される

try ブロックが問題なく完了しても、直後に finally が実行されます。必ず行う最後の処理として使えます。

エラー後にも実行される

try ブロックが raise した場合、エラーが上位へ伝播する前に finally が実行されます。後処理がスキップされることはありません。

リソースに最適

ファイル、接続、ロックなど、開いたものを解放するには finally を使います。何かが失敗しても、それらは閉じられます。

try:
    var f = open("data.txt", "r")
    read_all(f)
finally:
    f.close()

try、except、finally を組み合わせる

3 つすべてを組み合わせられます。try で処理を実行し、except で復旧し、finally でどのような場合でも後処理を行います。

try:
    work()
except e:
    print(e)
finally:
    cleanup()

except なしの finally

finally は except なしで try とのみ組み合わせることもできます。エラーはそのまま伝播しますが、先に後処理が実行されます。

実行順序

流れはシンプルです。try を実行し、raise した場合は except を実行し、最後に必ず finally を実行します。毎回予測可能です。

ここで重い処理を避ける

finally は後処理に集中させます。ここでエラーが発生すると元の問題が隠れる可能性があるため、リスクのあるロジックは避けてください。

リークも予想外の動作も防ぐ

finally を使うと、リソースを確実に解放できます。最もエラーが起きやすい経路でも、プログラムはリークを避けられます。

後処理の安全網

finally は、リスクのあるコードの下に張る安全網だと考えてください。上で何が起きても、後処理を確実に実行します。🪢

簡単な確認

finally ブロックが正確にいつ実行されるかを思い出しましょう。

まとめ

finally は try の後に、成功した場合でも失敗した場合でも必ず実行されるため、ファイルやリソースを解放する信頼できる場所になることを学びました。🎯

無料で開始

AI チューターと学ぶ Mojo — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「finallyによる後処理」レッスンは無料ですか?

はい。「finallyによる後処理」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Mojo Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Mojo Academyコースには全4レッスンが含まれています。

「finallyによる後処理」で何を学びますか?

何が起きてもコードを実行します ブラウザで直接実行するハンズオンコードでMojo Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Mojo Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのMojo Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「finallyによる後処理」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このMojo Academyレッスンでコードを書いて実行できますか?

はい。すべてのMojo Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. エラーを発生させる
  2. try/exceptで捕捉する
  3. raisesアノテーション
  4. finallyによる後処理
← Mojo Academyに戻る