javascript window.onerror事件は新しい収穫を学びます。


jsエラーをキャプチャする時、私たちは通常try{}catch(e){}の方式を使って、e.error Messageなどでエラー情報を取得して、エラーを報告します。しかし、Oneerror事件についてはあまり質問しないかもしれません。エラーの所在をどう報告するかを考えたことがありますか?これを考えたら、この問題にも悩まされたことがありますか?jsでは間違った行番号は捕獲できないと思いますか?実は本人は上述のいくつかの問題に出会って、今日ある人の書いた1段のjsコードを読んで突然oneerror事件を発見して、oneerrorこの時間もn久前に知っていたと言えば、しかしその持っている3つのパラメーターとその特殊な性質についてずっと理解していませんでした。自分の研究テストを経て、Oneerror事件に対していくつかの新しい認識と理解ができました。ページに誤りがない時、window.onerror事件は存在しないので、nullです。間違いないです。もしonerrorが現れたら正常ですか?)私たちは一般的に関数名を通して伝達されます。(引用の方式)Windows.onerror=reportErrなどの実行されるオペレーティング関数をオンロイベントに伝達します。window.onerror=function(){alert('error')}しかし、イベントのトリガには三つのデフォルトのパラメータがあるかもしれません。彼らはそれぞれエラー情報、エラーページのurlとエラー行番号です。これはイベントです。Oclickやonmouseoverなどのイベントと同じですが、パラメータがあります。私たちはこのようにテストできます。  パラメータ"+(i+1)+":"+argments[i];alert(errorMsg);window.onerror=null;return true;Function test(){error}test()[Ctrl+A全選注:]まずtestErr方法をオンerrorイベントに結びつけて、testメソッドでエラーをトリガして、IEで実行する時、以下のようなヒントを発見しました。  ---------------------------  Microsoft インターネット Explorer  ---------------------------  パラメータの個数:3つ  パラメータ1:'error' 未定義  パラメータ2:file://E:\yanwei\test\testError.  パラメータ3:14  ---------------------------  を選択します  ---------------------------        エラー時に関数testErrerが3つのパラメータに捕獲されることが分かった。関数をオンロイベントに結びつけることで、ページエラー時に上記の3つのパラメータを取り込むことができます。  テスト中に以下の問題も発見されました。  1、関数の末尾にリセットを加えることで trueは、関数のエラー時にシステムのエラー情報(IE)をイジェクトしないことができます。  2、ページに複数のエラーが発生した場合、最初のエラーのみをキャプチャして処理を行い、その後のプログラムの実行を終了します。  3、オンerrorイベントはすべてのエラーをキャプチャすることができません。関数外または関数内のエラーしかキャプチャできません。これはどういう意味ですか? adasdf;  機能 test(){       aaaa;  }  adasdf未定義のエラーをキャプチャすることができます。  機能 test(){         aaaa;  }  aaaa未定義のエラーを捕獲できます。 test(){}またはfunction test()dd{} のエラーがキャプチャできず、システムエラー情報を直接ポップアップします。  4、OneerrorはIEやFFなどのブラウザで実行する方式は同じで、しかもこれらの三つのパラメータが含まれています。