首頁 > web前端 > js教程 > javascript捕獲異常用什麼語句

javascript捕獲異常用什麼語句

青灯夜游
發布: 2021-10-21 09:16:43
原創
3747 人瀏覽過

javascript捕獲異常用“try catch”語句,語法“try {// 可能會發生異常的代碼} catch(error) {// 發生異常時要執行的操作}”;try語句塊中捕獲錯誤代碼,catch語句區塊中定義處理異常的方法。

javascript捕獲異常用什麼語句

本教學操作環境:windows7系統、javascript1.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)中的error),物件中包含兩個屬性,如下所示:

  • name:錯誤的類型;

  • message:對錯誤的描述訊息。

<strong>try catch finally</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>
登入後複製

假如我們輸入一個小於100 的數字,例如88,運行結果如下:

1.3015928349429721e+171
代码执行花费了:0ms
登入後複製

假如我們輸入一個大於100 的數字,例如123,運行結果如下:

输入的值无效!
代码执行花费了:0ms
登入後複製

【推薦學習:javascript進階教學

以上是javascript捕獲異常用什麼語句的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板