javaccriptは勉強します

5808 ワード

JavaScript-キャプチャエラー
私達はネットサーフィンをする時、いつもruntimeの誤りを持つJavascript警告の枠を見て、同時に私達に“debugを行うかどうか?”を聞きます.このようなエラー情報は開発者に役立つかもしれません.ユーザーにとっては必ずしもそうではありません.エラーが発生すると、彼らはよくこのサイトを離れることを選択します.
今回はJavascriptのエラーメッセージをキャプチャして処理する方法について説明します.そうすると、多くの人に便利な情報を提供することができます.
ウェブページでエラーをキャプチャする2つの方法があります.
  • はtry...catch文を使用する.(IE 5+、Mozila 1.0、およびNetscape 6で利用可能)
  • オンロ事件を使用する.これはエラーを取り込むための古い方法です.(Netscape 3以降のバージョンは使えます)
  • Try…Catch文
    try...catchはコード中のエラーをテストできます.try部分には運転が必要なコードが含まれていますが、catch部分にはエラーが発生した時に実行するコードが含まれています.
    構文:
    try
    {
       //在此运行代码
    }
    catch(err)
    {
       //在此处理错误
    }

    注意:try...catch 使用小写字母。大写字母会出错。

    实例 1

    下面的例子原本用在用户点击按钮时显示 "Welcome guest!" 这个消息。不过 message() 函数中的 alert() 被误写为 adddlert()。这时错误发生了:

    <html>
    <head>
    <script type="text/javascript">
    function message()
    {
    adddlert("Welcome guest!")
    }
    </script>
    </head>
    
    <body>
    <input type="button" value="View message" onclick="message()" />
    </body>
    
    </html>
    私たちはtry...catch文を追加できます.このようにエラーが発生したら、より適切な措置を取ることができます.
    次の例はtry…catch文でスクリプトを見直しました.alert()を書き間違えたので、エラーが発生しました.しかし、今回は、catchの部分がエラーをキャッチし、準備されたコードでこのエラーを処理しました.このコードはユーザーに発生したことを知らせるためにカスタムエラーメッセージを表示します.
    <html>
    <head>
    <script type="text/javascript">
    var txt=""
    function message()
    {
    try
      {
      adddlert("Welcome guest!")
      }
    catch(err)
      {
      txt="         。

    " txt+=" : " + err.description + "

    " txt+=" OK 。

    " alert(txt) } } </script> </head> <body> <input type="button" value="View message" onclick="message()" /> </body> </html>
    実例2
    次の例は確認ボックスが表示されます.エラーが発生した時に決定ボタンをクリックしてウェブページを見続けるか、キャンセルボタンをクリックしてトップページに戻ります.confirm方法の戻り値がfalseの場合、コードはユーザーを他のページにリダイレクトします.confirmメソッドの戻り値がtrueであれば、コードは何もできません.
    <html>
    <head>
    <script type="text/javascript">
    var txt=""
    function message()
    {
    try
      {
      adddlert("Welcome guest!")
      }
    catch(err)
      {
      txt="There was an error on this page.

    " txt+="Click OK to continue viewing this page,
    " txt+="or Cancel to return to the home page.

    " if(!confirm(txt)) { document.location.href="http://www.w3school.com.cn/" } } } </script> </head> <body> <input type="button" value="View message" onclick="message()" /> </body> </html>
    オーロラ事件
    私たちはすぐにオーロラ事件について説明します.まず、throw文を使って異常を作成するにはどうすればいいですか?throw文はtry...catch文と一緒に使用できます.
    throw声明の役割は、exception(異常またはエラー)を作成することである.
    実例
    スロウ宣言
    どのようにthrow声明を使用しますか?
    Throw声明
    throw声明の役割はexception(異常)を作成することである.この声明をtry...catchと共同で使用して、プログラムフローを制御し、正確なエラーメッセージを生成する目的があります.
    構文:
    throw(exception)
    exceptionは文字列、整数、論理値またはオブジェクトとすることができる.
    注意:小文字でthrowを書きます.大文字を使うとエラーが発生します.
    実例1
    以下の例の役割は変数xの値を測定することである.xの値が10以上か0以下であれば、エラーは投げ出されます.このエラーはcatchのパラメータによって取り込まれた後、カスタマイズされたエラーメッセージが表示されます.
    <html>
    <body>
    <script type="text/javascript">
    var x=prompt("Enter a number between 0 and 10:","")
    try
    { 
    if(x>10) 
    throw "Err1"
    else if(x<0)
    throw "Err2"
    } 
    catch(er)
    {
    if(er=="Err1") 
    alert("Error! The value is too high")
    if(er == "Err2") 
    alert("Error! The value is too low") 
    }
    </script>
    </body>
    </html>
    Oneerrorイベントを使うのは旧式の標準的なウェブページでJavascriptエラーをキャプチャする方法です.
    実例
    オーロラ事件
    どうやってオンerror事件を使ってウェブページのエラーをキャプチャしますか?
    オーロラ事件
    私たちは今、どのようにtry...catch声明を使ってウェブページの誤りを逮捕するかを話しました.今は、Oneerror事件をどうやって利用して同じ目的を達成するかを説明し続けます.
    ページにスクリプトのエラーが発生すると、Oneerrorイベントが発生します.
    Oneerrorイベントを利用するには、エラー処理の関数を作成する必要があります.この関数をオンerrorイベントプロセッサと呼ぶことができます.このイベントプロセッサは、3つのパラメータを使用して、msg(エラーメッセージ)、url(エラーが発生したページのurl)、ライン(エラーが発生したコードライン)を呼び出します.
    構文:
    onerror=handleErrfunction handleErr(msg,url,l)
    {
    //Handle the error here
    return true or false
    }
    ブラウザが標準のエラーメッセージを表示するかどうかは、Oneerrorの戻り値に依存します.戻り値がfalseであれば、操作卓にエラーメッセージが表示される.逆にしてはできない
    例:
    以下の例は、エラーをキャプチャするために、オンerrorイベントをどのように使用するかを示している.
    <html>
    <head>
    <script type="text/javascript">
    onerror=handleErr
    var txt=""
    
    function handleErr(msg,url,l)
    {
    txt="There was an error on this page.

    " txt+="Error: " + msg + "
    " txt+="URL: " + url + "
    " txt+="Line: " + l + "

    " txt+="Click OK to continue.

    " alert(txt) return true } function message() { adddlert("Welcome guest!") } </script> </head> <body> <input type="button" value="View message" onclick="message()" /> </body> </html>