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

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

青灯夜游
青灯夜游オリジナル
2021-07-19 18:52:568163ブラウズ

方法: 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 はフロントエンドのエラー監視を実装できます。セキュリティ上の理由から、別のドメインからロードされたスクリプトで構文エラーが発生した場合、構文エラーの詳細は報告されません。 <pre class="brush:js;toolbar:false;">/* message:错误信息(字符串)。 source:发生错误的脚本URL(字符串) lineno:发生错误的行号(数字) colno:发生错误的列号(数字) error:Error对象(对象) 若该函数返回true,则阻止执行默认事件处理函数。 */ window.onerror = function(message, source, lineno, colno, error) { // onerror_statements } /* ErrorEvent类型的event包含有关事件和错误的所有信息。 */ window.addEventListener(&amp;#39;error&amp;#39;, function(event) { // onerror_statements })</pre>[推奨学習:

JavaScript 上級チュートリアル

]

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。