例
この例では、我々は(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ステートメントリファレンス