JavaScript try/catch/finally文
例
以下の例では、try ブロックのコードにわざとスペルミスを書いています。
この例では「ようこそ!」とアラートが表示されるはずですが、スペルミスのエラーメッセージがポップアップ表示されます。
catch ブロックは try ブロック内のエラーを捕捉し、それを処理するコードを実行します:
試してみる »
この記事の下部には、さらに多くの例が含まれています
定義と用法
try/catch/finally 文は、コード内で発生する可能性のあるエラーを処理するために使用されます。
エラーは構文エラーの可能性があり、通常はプログラマーによるコーディングエラーやタイプミスです。また、スペルミスや、言語に不足している機能(ブラウザの違いによる可能性があります)である場合もあります。
tryこの文を使用すると、実行時にエラーテストを行うコードブロックを定義できます。
catchこの文を使用すると、コードブロックでエラーが発生したときにtry実行されるコードブロックを定義できます。
finallyこの文は、try と catch の後、例外の有無にかかわらず実行されます。
注意:catch 文と finally 文はどちらもオプションですが、try 文を使用する場合は少なくとも1つ使用する必要があります。
ヒント:エラーが発生すると、JavaScript は実行を停止し、エラーメッセージを生成します。throw 文をthrow使用してカスタムメッセージを作成します(例外をスロー)。もしthrowとtry 、 catch一緒に使用すると、プログラムが出力するエラーメッセージを制御できます。
JavaScript エラーの詳細については、私たちのJavaScript エラーチュートリアルを参照してください。
ブラウザサポート
| 文 | |||||
|---|---|---|---|---|---|
| try/catch/finally | Yes | Yes | Yes | Yes | Yes |
構文
tryCode - 実行を試みるコードブロック
}
catch(err) {
catchCode - エラーを捕捉するコードブロック
}
finally {
finallyCode - try / catch の結果に関係なく実行されるコードブロック
}
パラメータ値
| パラメータ | 説明 |
|---|---|
| tryCode | 必須。エラーがないかチェックするコードブロック。 |
| err | 必須(catch を使用する場合)。ローカル変数に適用されるエラーを指定します。この変数は Error オブジェクト(発生したエラー情報(「'addlert' が定義されていません」など)を含む)を参照できます。例外が throw 文によって作成された場合、この変数は throw 文で指定されたオブジェクトを参照します(「その他の例」を参照)。 |
| catchCode | オプション。try 文でエラーが発生した場合に実行されるコードブロック。try 文でエラーが発生しなかった場合、このコードは実行されません。 |
| finallyCode | オプション。try / catch の結果に関係なく実行されます。 |
技術詳細
| JavaScript バージョン: | 1.4 |
|---|

その他の例
例
この例では、入力された値が間違っているかどうかをチェックし、間違っている場合は例外をスローします。
例外は catch 文で捕捉され、カスタムメッセージが出力されます:
試してみる »
例
finallyこの文は、try と catch の実行結果に関係なく実行されます:
試してみる »
関連ページ
JavaScript チュートリアル:JavaScript エラー
JavaScript リファレンス:JavaScript throw 文
JavaScript 文リファレンス その他の拡張