JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

【初心者向け】JavaScriptのfinallyステートメントをサンプルコード付きでわかりやすく解説

finallyステートメントは、エラーが発生したかどうかにかかわらず、tryブロックとcatchブロックの処理が完了した後に必ず実行されるブロックです。

ファイルのクローズやデータベース接続の切断など、処理の成功・失敗に関係なく必ず実行したい後処理(クリーンアップ処理)を記述する際に非常に便利です。

finallyの基本構文

try {
  // エラーが発生する可能性のある処理
} catch (err) {
  // エラー発生時に実行される処理
} finally {
  // エラーの有無にかかわらず必ず実行される処理
}

サンプルコード

以下は、JavaScriptにおけるfinallyステートメントの動作を確認できるコード例です。ボタンをクリックすると、宣言される前に変数へアクセスを試みます。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
   body {
      font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
   }
   .result,.sample {
      font-size: 20px;
      font-weight: 500;
   }
</style>
</head>
<body>
<h1>JavaScriptのfinally</h1>
<div class="sample"></div>
<div style="color: green;" class="result"></div>
<button class="Btn">CLICK HERE</button>
<h3>
上のボタンをクリックすると、定義前に変数へアクセスします
</h3>
<script>
   let sampleEle = document.querySelector(".sample");
   let resEle = document.querySelector(".result");
   document.querySelector(".Btn").addEventListener("click", () => {
      try {
         resEle.innerHTML = a;
      }
      catch (err) {
         resEle.innerHTML = "Error = " + err;
      }
      finally {
         sampleEle.innerHTML = "finallyブロック内のコードが実行されました";
      }
      let a = 44;
   });
</script>
</body>
</html>

実行結果

上記のコードを実行すると、次のような画面が表示されます。

【初心者向け】JavaScriptのfinallyステートメントをサンプルコード付きでわかりやすく解説

「CLICK HERE」ボタンをクリックすると −

【初心者向け】JavaScriptのfinallyステートメントをサンプルコード付きでわかりやすく解説

コードの解説

この例では、変数aletキーワードでtryブロックの後に宣言されているため、宣言前にアクセスすると一時的デッドゾーン(TDZ)によりReferenceErrorが発生します。

このエラーはcatchブロックで捕捉され、エラーメッセージが画面に表示されます。その後、エラーが発生したにもかかわらず、finallyブロック内のメッセージも表示されます。これにより、finallyブロックがエラーの有無にかかわらず必ず実行されることが確認できます。

  1. JavaScriptのdebuggerステートメントの使い方を徹底解説

    JavaScriptのdebuggerステートメントは、コード内にブレークポイントを設定するための構文です。実行中のコードがdebuggerステートメントに到達すると、その時点で処理が一時停止し、開発者ツールのデバッガーが利用可能であれば自動的にデバッガー機能が呼び出されます。 debuggerステートメントの基本動作 debuggerステートメントは、以下のような場面で特に役立ちます。 コードの特定の箇所で処理を止めて、変数の値を確認したいとき ループ処理の各ステップを詳細に追跡したいとき 複雑なロジックの不具合原因を特定したいとき なお、ブラウザの開発者ツール(DevTools)が開い

  2. JavaScriptでinnerHTMLを設定する方法をわかりやすく解説

    JavaScriptでHTML要素の内容を動的に書き換えたい場合に便利なのが、innerHTMLプロパティです。innerHTMLを使えば、指定した要素の中にHTML文字列をそのまま挿入・置き換えることができます。本記事では、innerHTMLを設定する正しい構文と、実際に動作するサンプルコードを初心者向けに解説します。 innerHTMLを設定する正しい構文 innerHTMLを設定する際の正しい構文は以下のとおりです。 document.getElementById(yourIdName).innerHTML=yourValue; この構文では、まずgetElementById()メソッド