ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScriptで例外をキャッチする方法は何ですか

JavaScriptで例外をキャッチする方法は何ですか

青灯夜游
リリース: 2023-01-07 11:44:16
オリジナル
8186 人が閲覧しました

方法: 1. try catchfinally ステートメントを使用し、構文「try{//コード ブロックをデバッグ}catch(e) {//例外をキャプチャして処理}finally{//後でクリーンアップ コード ブロック}」を使用します。 2 . window オブジェクト window の onerror イベントを使用します。

JavaScriptで例外をキャッチする方法は何ですか

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

例外をキャッチする Javascript メソッド

JavaScript の例外は、主に try catchfinally ステートメントとウィンドウ オブジェクトを使用します windowonerror イベントがキャプチャされます。

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 には、いくつかの標準エラー タイプが組み込まれています:

  • EvalError: eval() に関連するエラーの原因を示す error インスタンスを作成します。
  • RangeError: error インスタンスを作成して、エラーの原因を示します。数値変数またはパラメーターが有効範囲を超えています。
  • ReferenceError: error インスタンスを作成して、エラーの原因: 無効な参照を示します。
  • SyntaxError: error インスタンスを作成して、エラーの原因を示します: eval()処理中に発生した構文エラーコードを解析しています。
  • TypeError: error インスタンスを作成して、エラーの原因を示します: 変数またはパラメーターが有効な型に属していません。
  • URIError: 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 上級チュートリアル

]

以上がJavaScriptで例外をキャッチする方法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート