方法: 1. try catchfinally ステートメントを使用し、構文「try{//コード ブロックをデバッグ}catch(e) {//例外をキャプチャして処理}finally{//後でクリーンアップ コード ブロック}」を使用します。 2 . window オブジェクト window の onerror イベントを使用します。
このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
JavaScript の例外は、主に
try catchfinally ステートメントとウィンドウ オブジェクトを使用します
window の
onerror イベントがキャプチャされます。
try catchfinally
try catchfinally実行時エラーのみをキャッチでき、構文エラーはキャッチできません。エラー情報、スタック、エラーファイル、行番号、列番号。
try catchfinally ステートメントは、試行されるステートメントのブロックをマークし、例外が発生したときにスローされる応答を指定します。
try{ // try_statements throw new TypeError("Test"); }catch (e){ // catch_statements console.log("catch_statements"); if(e instanceof TypeError){ // handle this expected error console.log("handle this expected error"); }else{ // handle unexpected error console.log("handle unexpected error"); } }finally{ // finally_statements console.log("finally_statements"); } /* 注: [catch (e if e instanceof TypeError) { // 非标准 catch_statements }] */
Error のコンストラクターを使用してエラー オブジェクトを作成できます。実行時エラーが発生すると、
Error のインスタンス オブジェクトがスローされます (
Error) オブジェクトは、ユーザー定義例外のベース オブジェクトとしても使用できます。
Js には、いくつかの標準エラー タイプが組み込まれています:
:
eval() に関連するエラーの原因を示す
error インスタンスを作成します。
:
error インスタンスを作成して、エラーの原因を示します。数値変数またはパラメーターが有効範囲を超えています。
:
error インスタンスを作成して、エラーの原因: 無効な参照を示します。
:
error インスタンスを作成して、エラーの原因を示します:
eval()処理中に発生した構文エラーコードを解析しています。
:
error インスタンスを作成して、エラーの原因を示します: 変数またはパラメーターが有効な型に属していません。
:
error インスタンスを作成してエラーの原因を示します:
encodeURI() または
decodeURl()# を指定します。 ## 渡されたパラメータは無効です。
window.onerror
window.onerror構文エラーと実行時エラーをキャプチャできます。エラー情報、スタック、エラー ファイル、行番号、および列番号。Js
スクリプトが現在の window
で実行されている限り、エラーは window を通じてキャプチャされます。 .onerror
はフロントエンドのエラー監視を実装できます。セキュリティ上の理由から、別のドメインからロードされたスクリプトで構文エラーが発生した場合、構文エラーの詳細は報告されません。 /*
message:错误信息(字符串)。
source:发生错误的脚本URL(字符串)
lineno:发生错误的行号(数字)
colno:发生错误的列号(数字)
error:Error对象(对象)
若该函数返回true,则阻止执行默认事件处理函数。
*/
window.onerror = function(message, source, lineno, colno, error) {
// onerror_statements
}
/*
ErrorEvent类型的event包含有关事件和错误的所有信息。
*/
window.addEventListener('error', function(event) {
// onerror_statements
})
以上がJavaScriptで例外をキャッチする方法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。