JavaScriptエラー
JavaScript エラー - throw、try、catch
try ステートメントは、コード ブロックのエラーをテストします。
catch ステートメントの処理エラー。
throw ステートメントを使用してカスタム エラーを作成します。
JavaScript エラー
JavaScript エンジンが JavaScript コードを?qū)g行すると、さまざまなエラーが発生する可能性があります。
構(gòu)文エラーの可能性があります。通常はプログラマによるコーディング エラーまたはタイプミスです。
スペルの間違い、または言語の機(jī)能が欠落している可能性があります (ブラウザーの違いが原因である可能性があります)。
サーバーまたはユーザーからの誤った出力によりエラーが発生する可能性があります。
もちろん、他の多くの予測不可能な要因が原因である可能性もあります。
JavaScript がエラーをスローする
エラーが発生したり、何か問題が発生したりすると、通常、JavaScript エンジンが停止し、エラー メッセージが生成されます。
この狀況を説明する専門用語は、「JavaScript がエラーをスローする」です。 JavaScript の try ステートメントと catch ステートメントを使用すると、実行時にエラーがテストされるコード ブロックを定義できます。
catch ステートメントを使用すると、try コード ブロックでエラーが発生したときに実行されるコード ブロックを定義できます。
JavaScript ステートメント
try と catch はペアで表示されます。
構(gòu)文
try { //ここでコードを?qū)g行
} catch(err) {//ここでエラーを処理}
インスタンス
以下の例では、 try ブロックのコードに意図的にタイプミスを書きました。アラートは意図的に addlert
として記述されています。 catch ブロックは try ブロック內(nèi)のエラーをキャッチし、それを処理するコードを?qū)g行します。<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> <script> var txt=""; function message(){ try { adddlert("Welcome guest!"); } catch(err) { txt="本頁有一個錯誤。\n\n"; txt+="錯誤描述:" + err.message + "\n\n"; txt+="點擊確定繼續(xù)。\n\n"; alert(txt); } } </script> </head> <body> <input type="button" value="查看消息" onclick="message()" /> </body> </html>
プログラムを?qū)g行して試してみましょう
Throw ステートメント throw ステートメントを使用すると、カスタム エラーを作成できます。
正しい専門用語は、例外の作成またはスローです。
try と catch で throw を使用すると、プログラム フローを制御し、カスタム エラー メッセージを生成できます。
構(gòu)文
例外をスローする
例外には、JavaScript 文字列、數(shù)値、論理値、またはオブジェクトを使用できます。
例
この例は、入力変數(shù)の値を検出します。値が間違っている場合は、例外 (エラー) がスローされます。 catch はこのエラーをキャッチし、カスタム エラー メッセージを表示します:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> <script> function myFunction(){ try{ var x=document.getElementById("demo").value; if(x=="") throw "值為空"; if(isNaN(x)) throw "不是數(shù)字"; 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 之間的數(shù)字:</p> <input id="demo" type="text"> <button type="button" onclick="myFunction()">測試輸入</button> <p id="mess"></p> </body> </html>
プログラムを?qū)g行して試してください
注意 getElementById 関數(shù)が失敗した場合、上記の例でもエラーがスローされます。