JavaScript エラー処理_JavaScript スキル

WBOY
リリース: 2016-05-16 16:16:02
オリジナル
1615 人が閲覧しました

1.エラー分類

1. 構文エラー

解析エラーとも呼ばれ、従来のプログラミング言語ではコンパイル時、JavaScript では解釈時に発生します。これらのエラーは、コード内の予期しない文字によって直接引き起こされ、直接コンパイル/解釈することができません。右括弧が欠落しているため、コード行で構文エラーが発生しました。構文エラーが発生すると、コードの実行を続行できなくなります。 JavaScript では、同じスレッド内のコードのみが構文エラーの影響を受けます。他のスレッドおよび他の外部参照ファイル内のコードは、エラーを含むコードに依存していない場合は実行を続行できます。

2. 実行時エラー

例外 (コンパイル時/インタプリタ後の例外) とも呼ばれます。現時点では、問題はコードの構文にあるのではなく、場合によっては不正な操作を完了しようとすることにあります。例:

window.openMyFile();

openMyFile() メソッドが存在しないため、ブラウザは例外を返します。例外は例外が発生したスレッドにのみ影響し、他の JavaScript スレッドは通常どおり実行を続けることができます。

2.エラーの処理

1. onerror イベント処理関数

これは、JavaScript によるエラー処理を支援するために使用される最初のメカニズムです。ページで例外が発生すると、ウィンドウ オブジェクトでエラー イベントがトリガーされます。例:

コードをコピーします コードは次のとおりです:

                                                                                                                    <頭>
&lt; title&gt; onerror emple&lt;/title&gt;






上記のコードでは、ページの読み込み中に存在しない関数を呼び出そうとすると、例外がスローされます。 「エラーが発生しました」というエラーメッセージがポップアップ表示されます。ただし、ブラウザのエラー メッセージも表示されます。onerror メソッドから true を返すだけです。

コードをコピーします コードは次のとおりです:
<スクリプトタイプ="text/javascript">
Window.onerror = function() {
alert(“エラーが発生しました!”);
true を返します;
}


1) エラーメッセージを削除します

onerror ハンドラーは、エラーの正確な性質を判断するために 3 種類の情報を提供します。

i) エラー メッセージ - 特定のエラーに対して、ブラウザは同じメッセージを表示します。

ii) URL - エラーが発生したファイル

行番号 – 指定された URL 内でエラーが発生した行番号。

アクセス方法については、次の例を参照してください:

コードをコピーします コードは次のとおりです:
<スクリプトタイプ="text/javascript">
window.onerror = function(sMessage, sUrl, sLine) {
alert("エラーが発生しました! " sMessage "nURL:" sUrl "nLine Number:" sLine);
true を返します;
}


2) 画像読み込みエラー

onerror イベント処理関数をサポートするオブジェクトは window オブジェクトだけではなく、image オブジェクトもサポートします。ファイルが存在しないなどの理由でイメージが正常にロードされなかった場合、イメージに対してエラー イベントがトリガーされます。例を見てみましょう:

上記の例では、HTML で onerror イベント ハンドラー関数を直接割り当てています。もちろん、スクリプトを通じてイベント処理関数を割り当てることもできます。画像の src 特性を設定する前に、ページが完全にロードされるまで待つ必要があります。

コードをコピーします コードは次のとおりです:


<頭>
                                                                                                                                           
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート