最新のWeb開発のチュートリアル
 

JavaScript try / catch / finally文

<JavaScriptステートメントリファレンス

この例では、我々は(tryブロック内)のコードのタイプミスをしました。

例を警告するようになっている"Welcome guest!" しかし、アラートがスペルミスしています。

catchブロックがエラーをキャッチし、それを処理するコードを実行します。

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
try {
    adddlert("Welcome guest!");
}
catch(err) {
    document.getElementById("demo").innerHTML = err.message;
}
</script>

</body>
</html>
»それを自分で試してみてください

もっと"Try it Yourself"以下の例。


定義と使用法

try / catch / finallyステートメントは、まだコードを実行中に、コードのブロック内で発生するエラーの一部またはすべてを処理します。

エラーは、プログラマによって作られたエラー、間違った入力に起因するエラー、およびその他の予測不可能なものをコーディングすることができます。

try文は、あなたはそれが実行されている間にエラーをテストするコードのブロックを定義することができます。

エラーがtryブロックで発生した場合、catchステートメントは、実行されるコードのブロックを定義することができます。

finally文は、結果にかかわらず、トライアンドキャッチした後、あなたがコードを実行することができます。

注意:キャッチし、最終的に文は、両方のオプションですが、あなたがそれらのいずれかを使用する必要があります(if not both) tryステートメントを使用しています。

ヒント:エラーが発生した場合は、JavaScriptが正常に停止し、エラーメッセージが生成されます。 使用スローカスタムエラーを作成するためのステートメントを(throw an exception) 。 あなたがしようとするとキャッチと一緒に投げる使用する場合は、プログラムの流れを制御し、カスタムエラーメッセージを生成することができます。

JavaScriptのエラーの詳細については、読み出されたJavaScriptエラーのチュートリアルを。


ブラウザのサポート

ステートメント
try/catch/finally はい はい はい はい はい

構文

try {
    tryCode - Block of code to try
}
catch( err ) {
    catchCode - Block of code to handle errors
}
finally {
    finallyCode - Block of code to be executed regardless of the try / catch result
}

パラメータ値

パラメーター 説明
tryCode 必須。 それが実行されている間にエラーが試験されるコードのブロック
err キャッチで使用する場合は必須。 エラーを参照するローカル変数を指定します。 変数には、エラー・オブジェクト(「『addlert』が定義されていません」というメッセージのように、発生したエラーに関する情報が含まれています)を参照することができます。 例外がthrowステートメントによって作成された場合、変数はthrow文で指定されたオブジェクトを参照する(「その他の例」を参照してください)
catchCode 任意。 エラーがtryブロックで発生した場合、コードのブロックは、実行されます。 エラーが発生していない場合、このコードブロックが実行されることはありません
finallyCode 任意。 かかわらずのtry / catch結果の実行されるコードのブロック

技術的な詳細

JavaScriptのバージョン: 1.4

例

その他の例

この例では、入力を調べます。 値が間違っている場合は、例外(err)スローされます。

例外(err) catchステートメントでキャッチされ、カスタムエラーメッセージが表示されます。

<!DOCTYPE html>
<html>
<body>

<p>Please input a number between 5 and 10:</p>

<input id="demo" type="text">
<button type="button" onclick="myFunction()">Test Input</button>
<p id="message"></p>

<script>
function myFunction() {
    var message, x;
    message = document.getElementById("message");
    message.innerHTML = "";
    x = document.getElementById("demo").value;
    try {
        if(x == "") throw "is Empty";
        if(isNaN(x)) throw "not a number";
        if(x > 10) throw "too high";
        if(x < 5) throw "too low";
    }
    catch(err) {
        message.innerHTML = "Input " + err;
    }
}
</script>

</body>
</html>
»それを自分で試してみてください

finally文は、結果にかかわらず、トライアンドキャッチした後、あなたがコードを実行することができます:

function myFunction()
    var message, x;
    message = document.getElementById("message");
    message.innerHTML = "";
    x = document.getElementById("demo").value;
    try {
        if(x == "") throw "Empty";
        if(isNaN(x)) throw "Not a number";
        if(x > 10) throw "Too high";
        if(x < 5) throw "Too low";
    }
    catch(err) {
        message.innerHTML = "Error: " + err + ".";
    }
    finally {
        document.getElementById("demo").value = "";
    }
}
»それを自分で試してみてください

関連ページ

JavaScriptのチュートリアル: JavaScriptのエラー

JavaScriptのリファレンス: JavaScriptのthrowステートメント


<JavaScriptステートメントリファレンス