JavaScript は例外をキャッチするためにどのようなステートメントを使用しますか?

青灯夜游
リリース: 2021-10-21 09:16:43
オリジナル
3713 人が閲覧しました

Javascript では、「try catch」ステートメントを使用して例外をキャッチします。構文は、「try {// 例外が発生する可能性のあるコード} catch(error) {// 例外発生時に実行される操作}」です。 try ステートメント ブロック内でエラー コードをキャプチャし、catch ステートメント ブロック内で例外を処理するメソッドを定義します。

JavaScript は例外をキャッチするためにどのようなステートメントを使用しますか?

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

JS 例外処理

例外処理の目的は、例外を生成するコードをキャプチャして、プログラム全体が異常終了しないようにすることです。例外。 JavaScript では、try catch ステートメントを使用して例外をキャッチし、それに応じて処理できます。構文形式は次のとおりです:

try {
    // 可能会发生异常的代码
} catch(error) {
    // 发生异常时要执行的操作
}
ログイン後にコピー

例外を引き起こす可能性のあるコードを try に入れることができます。ステートメント ブロックを作成し、catch ステートメント ブロックで例外を処理するメソッドを定義します。 try 文ブロック内のコードにエラーが発生した場合は、try 文ブロックから catch 文ブロックに直ちにジャンプし、try 文ブロック内のコードにエラーが発生しなかった場合は、catch 文ブロックのコードがジャンプします。無視される。

    <script>
        try {
            var title = "JavaScript";
            document.write(title);
            // 调用一个未定义的变量
            document.write(str);
            // 若发生错误,则不会执行以下行
            alert("所有语句都已成功执行。");
        } catch(error) {
            // 处理错误
            alert("错误信息: " + error.message);
        }
        // 继续执行下面的代码
        document.write("<p>Hello World!</p>");
    </script>
ログイン後にコピー

実行結果は以下のとおりです。

JavaScript は例外をキャッチするためにどのようなステートメントを使用しますか?

try ステートメント ブロック内のコードで例外が発生すると、Error オブジェクトが作成され、スローされる場合 (たとえば、上記のコードの catch(error) のエラー)、オブジェクトには以下に示すように 2 つの属性が含まれます:

  • name: エラーのタイプ;

  • メッセージ: エラーの説明。

<strong>try catchfinally</strong> ステートメント

try catch ステートメントの後に、次のコードを追加することもできます。 finally ステートメント ブロックでは、try ステートメント ブロック内のコードでエラーが発生したかどうかに関係なく、finally ステートメントのコードが実行されます。サンプル コードは次のとおりです。

    <script>
        // 接收用户输入的参数
        var num = prompt("输入一个 0 到 100 的数字");
        // 获取当前时间
        var start = Date.now();
        try {
            if(num > 0 && num <= 100) {
                console.log(Math.pow(num, num)); // 指数幂的基
            } else {
                console.log("输入的值无效!");
            }
        } catch(e) {
            console.log(e.message);
        } finally {
            // 显示执行代码所用的时间
            console.log("代码执行花费了:" + (Date.now() - start) + "ms");
        }
    </script>
ログイン後にコピー

88 など、100 未満の数値を入力した場合、実行結果は次のようになります。

1.3015928349429721e+171
代码执行花费了:0ms
ログイン後にコピー

100 より大きい数値を入力した場合、 123 などの場合、実行結果は次のとおりです。

输入的值无效!
代码执行花费了:0ms
ログイン後にコピー

[推奨学習: javascript 上級チュートリアル ]

以上がJavaScript は例外をキャッチするためにどのようなステートメントを使用しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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