1.JavaScript知識点のtry()、catch()とthrow()
2852 ワード
1.JavaScript知識点のtry()、catch()とthrow()
一、例外とは何か?
JavaScriptプログラムが実行中に配列インデックスの境界を越えたり、タイプの不一致や文法エラーが発生した場合、JavaScriptインタプリタは例外処理を誘発する.ECMAScriptは6つのタイプのエラーを定義しています.これ以外にも、Errオブジェクトとthrow文を使って、ユーザー定義の例外処理情報を作成し、誘発することができます.
二、例外処理技術のメリット
例外処理技術を使うことにより、構造化された方式でエラーイベントの発生に応答し、例外処理コードを正常シナリオコードと科学的に分離させ、最終的には主要機能を完成するコアプログラムの作成に集中できるようになります.
三、try...catch...finallyを使って例外処理を実行する
JavaScriptでは、try...catch...finally文を使って例外処理を実行します.つまり、エラー発生後の例外を捕捉したり、throw文の例外を実行したりします.その基本的な構文は以下の通りである.
次の例では、わざとtryブロックのコードに誤字を書きました.catchブロックはtryブロックのエラーを捉え、コードを実行して処理します.
構文throw exception異常は、JavaScript文字列、数字、論理値またはオブジェクトとすることができます.
例:
try 。
catch 。
throw 。
JavaScriptテストとキャプチャ:try文は、実行時にエラーテストを行うコードブロックを定義することができます.catch文は、tryコードブロックにエラーが発生したときに実行されるコードブロックを定義することを許可します.JavaScript文tryとcatchはペアで現れます.一、例外とは何か?
JavaScriptプログラムが実行中に配列インデックスの境界を越えたり、タイプの不一致や文法エラーが発生した場合、JavaScriptインタプリタは例外処理を誘発する.ECMAScriptは6つのタイプのエラーを定義しています.これ以外にも、Errオブジェクトとthrow文を使って、ユーザー定義の例外処理情報を作成し、誘発することができます.
二、例外処理技術のメリット
例外処理技術を使うことにより、構造化された方式でエラーイベントの発生に応答し、例外処理コードを正常シナリオコードと科学的に分離させ、最終的には主要機能を完成するコアプログラムの作成に集中できるようになります.
三、try...catch...finallyを使って例外処理を実行する
JavaScriptでは、try...catch...finally文を使って例外処理を実行します.つまり、エラー発生後の例外を捕捉したり、throw文の例外を実行したりします.その基本的な構文は以下の通りである.
try { // } catch(error) { // } finally { // }
上のコードでは、tryブロック中のステートメントが最初に実行される.運転中にエラーが発生したら、制御はcatchブロックにある文に移行します.中かっこのerrorパラメータは例外変数として渡されます.そうでないと、catchブロックの文がスキップされて実行されません.エラーが発生した場合、catchブロック中のステートメントが実行されたか、またはエラーtryブロック中のステートメントが実行されていないかに関わらず、最後にfinallyブロック中のステートメントが実行されます.次の例では、わざとtryブロックのコードに誤字を書きました.catchブロックはtryブロックのエラーを捉え、コードを実行して処理します.
var txt="";
function message() {
try
{
adddlert("Welcome guest!");
}
catch(err)
{
txt="There was an error on this page.
";
txt+="Error description: " + err.message + "
";
txt+="Click OK to continue.
";
alert(txt);
}
}
Throw文throw文は、カスタムエラーを作成することを許可します.正確な技術用語は、異常を作成または投げ出すことです.throwをtryとcatchと一緒に使用すると、プログラムフローを制御して、カスタムエラーメッセージを生成することができます.構文throw exception異常は、JavaScript文字列、数字、論理値またはオブジェクトとすることができます.
例:
function myFunction() {
try
{
var x=document.getElementById("demo").value;
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)
{
var y=document.getElementById("mess");
y.innerHTML="Error: " + err + ".";
}
}
Please input a number between 5 and 10: