JavaScriptエラー
try ステートメントは、コード ブロックのエラーをテストします。
catch ステートメント処理エラー。
throw ステートメントを使用してカスタム エラーを作成します。
JavaScript エラー
JavaScript エンジンが JavaScript コードを実行すると、さまざまなエラーが発生します。
構文エラーの可能性があります。通常はプログラマによるコーディング エラーまたはタイプミスです。
スペルの間違い、または言語の機能が欠落している可能性があります (ブラウザーの違いが原因である可能性があります)。
サーバーまたはユーザーからの誤った出力が原因でエラーが発生する可能性があります。
もちろん、他の多くの予測不可能な要因が原因である可能性もあります。
JavaScript がエラーをスローする
エラーが発生したり、何か問題が発生したりすると、通常、JavaScript エンジンが停止し、エラー メッセージが生成されます。
この状況を説明する専門用語は次のとおりです: JavaScript は エラーをスロー します。
JavaScript try と catch
try ステートメントを使用すると、実行時にエラーがテストされるコードのブロックを定義できます。
catch ステートメントを使用すると、try コード ブロックでエラーが発生したときに実行されるコード ブロックを定義できます。
JavaScript ステートメント try と catch はペアで表示されます。
構文
try { //在这里运行代码 } catch(err) { //在这里处理错误 }
例
以下の例では、try ブロックのコードに意図的にタイプミスを記述しています。
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 関数のエラーであり、上記の例でもエラーがスローされます。