JavaScript: throw文
このページではJavaScriptのthrow文について説明します。
例外的な条件やエラーが発生したことを示すシグナルのことを例外といいます。 その例外を発生させるのがthrow文です。 (throwとは「投げる」という意味です)
発生した例外をキャッチするのはtry/catch/finally文です。
書式
throw 投げる式
投げる式に型の制限はありません。 数値や文字列、true/false等自由に投げる式を設定できます。
throw "Error"; // 文字列 throw 11; // 数値 throw false; // true/false
エラーオブジェクトを設定することもできます。
throw new Error("Errow 12");
使用例
次のプログラムは、aがマイナスの値の場合例外をスローするプログラムです。
if (a < 0){ // マイナスの場合例外をスローする throw new Error("Error minus"); }else{ // 処理 }
例外がスローされた時
例外がスローされた時、JavaScriptのインタプリタは最も近い例外ハンドラに処理を移動します。 例外ハンドラはtry/catch/finally文でのcatch句に記述します。
最初に例外がスローされたコードブロックにcatch句がないかを調べます。 もしなければ、上位のコードブロックにcatch句がないかを調べます。 コードブロックをさかのぼっていき、例外ハンドラが見つからない場合はユーザーにエラーが報告されます。
次のプログラムは例外ハンドラが見つからない場合のエラーメッセージの例です。(Firefox)
var a = -1 if (a < 0){ // マイナスの場合例外をthrowする throw new Error("Error minus"); }else{ // 処理 } // 実行結果 Error: Error minus