広告スペース(バナー)
🟨JavaScript レッスン
基本文法の基礎8
データ構造とオブジェクト指向8
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 51 / 69

try/catch/finallyで後片付け処理をしよう

このレッスンでは、try/catch/finallyを使った後片付け処理の書き方を学び、エラーの有無にかかわらず確実に実行したい処理を書けるようになることを目標にします。「JavaScript finally 使い方」で調べている方向けの内容です。

finallyブロックは、例外が発生してもしなくても必ず実行される後片付け用のブロックです。「エラーが起きても起きなくても、最後にこの処理だけは必ず行いたい」というときに使います。ファイルを閉じる、通信を終了する、ローディング表示を消す、といった処理は、エラーの有無にかかわらず確実に実行される必要があるため、finallyが重宝されます。

サンプルコードでは、divide関数の中でtryによる計算・catchによるエラー処理に加えて、finallyで「計算処理を終了します」というメッセージを必ず表示しています。正常に割り算できた場合とエラーになった場合の両方で、このfinallyのメッセージが表示されることを確認してみましょう。

初心者がよくつまずくのが、finallyブロックの実行タイミングです。trycatchの中にreturnがあっても、その値が返される前にfinallyが実行されるという少し特殊な順序になっています。エラー処理を書くときは、catchだけでなくfinallyの存在も忘れないようにしましょう。

データベース接続やネットワーク通信など、リソースを確実に解放したい処理でfinallyはよく使われます。実際の開発現場では、通信の後始末やローディング表示のオン・オフなど、成功・失敗にかかわらず必要な処理をfinallyにまとめておくことで、コードの重複を防げます。

JavaScript
OUTPUT / 実行結果

💡 console.log() の内容が実行結果に表示されます。

🎯
ここまでできればゴール達成!
エラーが起きても必ず後片付けが行われる、安全な処理が書けるようになります。
広告スペース(バナー)
広告スペース(記事内)