異常処理文
3179 ワード
異常処理文 throw文 catch finally文 try...catch.finally文 try文はコードブロックのエラーをテストします. catch文処理エラー. throw文は、カスタムエラーを作成します. finally文は、tryとcatch文の後、トリガ異常があるかどうかにかかわらず、この文が実行されます. throw文
throw文の役割は異常を投げることです.投げ異常とは、システムに異常やエラーが発生したことを信号で伝えることです.
throw文は、カスタムエラーを作成することを許可します.正確な技術用語は、異常を作成または投げ出すことです.throwをtryとcatchと一緒に使用すると、プログラムフローを制御して、カスタムエラーメッセージを生成することができます.異常はJavaScript文字列、数字、論理値、またはオブジェクトとすることができます.本例では入力変数の値を検出します.値が間違っていると、異常(エラー)が発生します.catchはこのエラーを捉えて、カスタムエラーメッセージを表示します.
例:
プログラムコードは以下の通りです.
catch
catch文は、tryコードブロックにエラーが発生したときに実行されるコードブロックを定義することを許可します.JavaScript文tryとcatchはペアで現れます.構文:
例:
finally文は、前のtryおよびcatchに異常があるかどうかを問わず、このコードブロックを実行します.
例:
try...catch...finallyの文法フォーマットは以下の通りです.
throw文の役割は異常を投げることです.投げ異常とは、システムに異常やエラーが発生したことを信号で伝えることです.
throw文は、カスタムエラーを作成することを許可します.正確な技術用語は、異常を作成または投げ出すことです.throwをtryとcatchと一緒に使用すると、プログラムフローを制御して、カスタムエラーメッセージを生成することができます.異常はJavaScript文字列、数字、論理値、またはオブジェクトとすることができます.本例では入力変数の値を検出します.値が間違っていると、異常(エラー)が発生します.catchはこのエラーを捉えて、カスタムエラーメッセージを表示します.
例:
function myFunction() {
var message, x;
message = document.getElementById("message");
message.innerHTML = "";
x = document.getElementById("demo").value;
try {
if(x == "") throw " ";
if(isNaN(x)) throw " ";
x = Number(x);
if(x < 5) throw " ";
if(x > 10) throw " ";
}
catch(err) {
message.innerHTML = " : " + err;
}
}
以下、throw文を使ってプログラム中の異常を投げます.まず変数を定義し、1と0の商に割り当てます.この変数の結果は無限大で、つまりInfinityです.自分で0の異常を検査したいなら、throw文を使って異常を捨てればいいです.プログラムコードは以下の通りです.
try{
var num=1/0;
if (num=="Infinity") {
throw new Error(" 0");
}
}catch(exception.message);
}
上記の手順から、変数numが無限大である場合、throw文を使って異常を投げ、この異常はcatch領域で捕捉され、ポップアップのエラーメッセージダイアログに異常なメッセージが表示されることが分かります.catch
catch文は、tryコードブロックにエラーが発生したときに実行されるコードブロックを定義することを許可します.JavaScript文tryとcatchはペアで現れます.構文:
try {
... //
} catch(e) {
... //
} finally {
... //
}
次の例では、わざとtryブロックのコードに誤字を書きました.catchブロックはtryブロックのエラーを捉え、コードを実行して処理します.例:
var txt="";
function message()
{
try {
adddlert("Welcome guest!");
} catch(err) {
txt=" 。
";
txt+=" :" + err.message + "
";
txt+=" 。
";
alert(txt);
}
}
finally文finally文は、前のtryおよびcatchに異常があるかどうかを問わず、このコードブロックを実行します.
例:
function myFunction() {
var message, x;
message = document.getElementById("p01");
message.innerHTML = "";
x = document.getElementById("demo").value;
try {
if(x == "") throw " ";
if(isNaN(x)) throw " ";
x = Number(x);
if(x > 10) throw " ";
if(x < 5) throw " ";
}
catch(err) {
message.innerHTML = " : " + err + ".";
}
finally {
document.getElementById("demo").value = "";
}
}
try...catch...finally文try...catch...finallyの文法フォーマットは以下の通りです.
try{
somestatements;
}
catch(exception e){
somestatements;
}finally{
somestatements;
}
try...catch文は一つのcatch文しかありません.これはjavascript言語では異常なタイプが指定できないからです.