Javascriptの異常処理紹介
2242 ワード
1、エラー報告、エラー処理及びコードデバッグは、ECMAScript 3とECMAScript 4の終了まで、JavaScriptの弱点とされています.ECMAScriptでJSのエラーを文法エラー(ERROR)と運転期間エラー(Exception)に分けます.2、異なるブラウザは異常な処理戦略に対して異なり、以下にいくつかの常用ブラウザの異常に対する処理及びいくつかの操作方法を示した.
ブラウザのタイプ
処理方法
コメント
IE
エラーをポップアップするバージョンや、ステータスバーに「ページにエラーが発生しました」と表示されるバージョンもあります.
Mozia
エラー情報を記録するコンソールに
Safari
異常を一切処理しない
以下の方法で処理できます.A、コマンド端末B、実行コマンド:defaults write comple.apple.Safari Include DabugMenu 1 C、SafariブラウザDを再開します.このとき、ブラウザのツールバーにDebugツールボタンが追加されています.このボタンをクリックして、「Log JavaScript Exceptions」オプションE、Apple/solipを選択します.今はJSエラーが表示されます.
Opera
Mozilaに似ています
メニューバーのウィンドウ-->特殊プラグイン->JavaScriptコンソールを選択して開くことができます.
3、主流の二種類の異常な処理方法:onErrorとtry/catch/finally
4、オンErrorはBOMの標準的な方法で、異常を捕獲して処理するために使用されます.この方法は、アクティブ時に3つのパラメータを渡す.Errer Message(エラーレポートメッセージ)、URL(エラーが発生したURLアドレス)、Linenumber(エラーが発生した行数).たとえば:
5、try/catch/finally構造、catchがキャプチャしたのはExceptionErrオブジェクトで、このオブジェクトは2つの属性があり、Name(Errerオブジェクトのタイプ)、Message(エラー情報)です.Javaに比べて、JSのtry/catchは一回のcatchの複数の異常をサポートしていませんが、catchを入れ替えることができます.ユーザーもthrowを使って自分の異常を投げ出すことができます.たとえば:
6、今まで私たちがよく触れた異常には以下のようなものがあります.
EveralError:eval()関数で異常が発生した場合は投げます.
RangeError:値が該当範囲を超えた場合にトリガします.
ReferenceErrer:相手が見つからない場合
SyntaxError:文法エラーのJavaScript文字列をeval()関数に入力します.
TypeErrer:変数に予期しないタイプが保存されている場合や、存在しない方法にアクセスする場合
URIError:encodeURI()またはdecodeURI()を使って、URIフォーマットが正しくない場合
インターネット関係者一枚、微博相互粉歓迎、切磋琢磨学習:http://weibo.com/icemanhit
ブラウザのタイプ
処理方法
コメント
IE
エラーをポップアップするバージョンや、ステータスバーに「ページにエラーが発生しました」と表示されるバージョンもあります.
Mozia
エラー情報を記録するコンソールに
Safari
異常を一切処理しない
以下の方法で処理できます.A、コマンド端末B、実行コマンド:defaults write comple.apple.Safari Include DabugMenu 1 C、SafariブラウザDを再開します.このとき、ブラウザのツールバーにDebugツールボタンが追加されています.このボタンをクリックして、「Log JavaScript Exceptions」オプションE、Apple/solipを選択します.今はJSエラーが表示されます.
Opera
Mozilaに似ています
メニューバーのウィンドウ-->特殊プラグイン->JavaScriptコンソールを選択して開くことができます.
3、主流の二種類の異常な処理方法:onErrorとtry/catch/finally
4、オンErrorはBOMの標準的な方法で、異常を捕獲して処理するために使用されます.この方法は、アクティブ時に3つのパラメータを渡す.Errer Message(エラーレポートメッセージ)、URL(エラーが発生したURLアドレス)、Linenumber(エラーが発生した行数).たとえば:
onerror = handleErr;
function handleErr(msg, url, l){
txt = " 。
";
txt += " :" + msg + "
";
txt += "URL: " + url + "
";
txt += " :" + l + "
";
txt += " “ ” 。
";
alert(txt);
return true;
}
残念なことに、OErrorは標準BOMオブジェクトであり、ブラウザによってサポートが異なり、Safariのようなモデル方法はサポートされていません.5、try/catch/finally構造、catchがキャプチャしたのはExceptionErrオブジェクトで、このオブジェクトは2つの属性があり、Name(Errerオブジェクトのタイプ)、Message(エラー情報)です.Javaに比べて、JSのtry/catchは一回のcatchの複数の異常をサポートしていませんが、catchを入れ替えることができます.ユーザーもthrowを使って自分の異常を投げ出すことができます.たとえば:
try {
fo.bar();
}catch (e) {
alert(e.name + ": " + e.message);
}
6、今まで私たちがよく触れた異常には以下のようなものがあります.
EveralError:eval()関数で異常が発生した場合は投げます.
RangeError:値が該当範囲を超えた場合にトリガします.
ReferenceErrer:相手が見つからない場合
SyntaxError:文法エラーのJavaScript文字列をeval()関数に入力します.
TypeErrer:変数に予期しないタイプが保存されている場合や、存在しない方法にアクセスする場合
URIError:encodeURI()またはdecodeURI()を使って、URIフォーマットが正しくない場合
インターネット関係者一枚、微博相互粉歓迎、切磋琢磨学習:http://weibo.com/icemanhit