JavaScriptエラー

JavaScript エラー - throw、try、catch

  • try ステートメントは、コード ブロックのエラーをテストします。

  • catch ステートメントの処理エラー。

  • throw ステートメントを使用してカスタム エラーを作成します。


JavaScript エラー

JavaScript エンジンが JavaScript コードを実行すると、さまざまなエラーが発生する可能性があります。

構文エラーの可能性があります。通常はプログラマによるコーディング エラーまたはタイプミスです。

スペルの間違い、または言語の機能が欠落している可能性があります (ブラウザーの違いが原因である可能性があります)。

サーバーまたはユーザーからの誤った出力によりエラーが発生する可能性があります。

もちろん、他の多くの予測不可能な要因が原因である可能性もあります。


JavaScript がエラーをスローする

エラーが発生したり、何か問題が発生したりすると、通常、JavaScript エンジンが停止し、エラー メッセージが生成されます。

この状況を説明する専門用語は、「JavaScript がエラーをスローする」です。 JavaScript の try ステートメントと catch ステートメントを使用すると、実行時にエラーがテストされるコード ブロックを定義できます。

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


JavaScript ステートメント

try catch はペアで表示されます。

構文

try { //ここでコードを実行

} catch(err) {

//ここでエラーを処理}

インスタンス

以下の例では、 try ブロックのコードに意図的にタイプミスを書きました。アラートは意図的に addlert


として記述されています。 catch ブロックは try ブロック内のエラーをキャッチし、それを処理するコードを実行します。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>php中文网(php.cn)</title>
    <script>
        var txt="";
        function message(){
            try {
                adddlert("Welcome guest!");
            }
            catch(err) {
                txt="本页有一个错误。\n\n";
                txt+="错误描述:" + err.message + "\n\n";
                txt+="点击确定继续。\n\n";
                alert(txt);
            }
        }
    </script>
</head>
<body>
<input type="button" value="查看消息" onclick="message()" />
</body>
</html>

プログラムを実行して試してみましょう

Throw ステートメント throw ステートメントを使用すると、カスタム エラーを作成できます。

正しい専門用語は、例外の作成またはスローです。

try と catch で throw を使用すると、プログラム フローを制御し、カスタム エラー メッセージを生成できます。

構文

例外をスローする

例外には、JavaScript 文字列、数値、論理値、またはオブジェクトを使用できます。

この例は、入力変数の値を検出します。値が間違っている場合は、例外 (エラー) がスローされます。 catch はこのエラーをキャッチし、カスタム エラー メッセージを表示します:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
<script>
function myFunction(){
try{ 
var x=document.getElementById("demo").value;
if(x=="")    throw "值为空";
if(isNaN(x)) throw "不是数字";
if(x>10)     throw "太大";
if(x<5)      throw "太小";
}
catch(err){
var y=document.getElementById("mess");
y.innerHTML="错误:" + err + "。";
}
}
</script>
</head>
<body>
<h1>我的第一个 JavaScript</h1>
<p>请输出一个 5 到 10 之间的数字:</p>
<input id="demo" type="text">
<button type="button" onclick="myFunction()">测试输入</button>
<p id="mess"></p>
</body>
</html>

プログラムを実行して試してください


注意 getElementById 関数が失敗した場合、上記の例でもエラーがスローされます。



学び続ける
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <script> function myFunction(){ try{ var x=document.getElementById("demo").value; if(x=="") throw "值为空"; if(isNaN(x)) throw "不是数字"; if(x>10) throw "太大"; if(x<5) throw "太小"; } catch(err){ var y=document.getElementById("mess"); y.innerHTML="错误:" + err + "。"; } } </script> </head> <body> <h1>我的第一个 JavaScript</h1> <p>请输出一个 5 到 10 之间的数字:</p> <input id="demo" type="text"> <button type="button" onclick="myFunction()">测试输入</button> <p id="mess"></p> </body> </html>