如何使用 onerror 捕獲 ReferenceError?


JavaScript 是一種著名的程式語言,與 HTML 和 CSS 一起構成全球資訊網 (WWW) 的核心語言之一。它允許程式設計師捕獲事件並修改文件物件模型 (DOM)。在本文中,我們將瞭解如何藉助 onerror 事件捕獲 ReferenceError。

什麼是 ReferenceError?

ReferenceError 是一種錯誤,當程式嘗試訪問不存在的變數或物件時可能會發生。當變數名稱拼寫錯誤或使用者嘗試訪問尚未初始化的物件時,可能會發生這種情況。

示例

<!DOCTYPE html>
<html>
<body>
<div id = "result"> </div>
<script>
try{
   let sum=a+2;
   document.getElementById("result").innerHTML = sum;
}
catch(e){
    document.getElementById("result").innerHTML = e;
}
</script>
</body>
</html>

什麼是 onerror?

onerror 是一個事件,每當載入外部檔案或資源時發生錯誤,或者執行指令碼時發生某些錯誤時就會觸發。

語法

onerror = (event, source, lineno, colno, error) => {};

引數:以下是語法中提到的引數的描述

  • event:包含人類可讀錯誤訊息的字串。

  • source:提供導致問題的指令碼的 URL 的字串。

  • lineno:包含發生問題的指令碼檔案的行號的整數。

  • colno:包含發生問題的指令碼檔案的列號的整數。

  • error:丟擲的錯誤物件。

示例

在本例中,我們將使用上面部分提到的程式碼中的 onerror 事件來捕獲 ReferenceError 物件。以下是執行此任務的完整程式碼

<!DOCTYPE html>
<html>
<head>
    <title>How to catch a ReferenceError with onerror?</title>
</head>
<body>
    <h4>How to catch a ReferenceError with onerror?</h4>
    <div id="result"> </div>
    <script>
        window.onerror = (event, url, line, column, error) => {
            let msg = "";
            msg += "Error Stack: " + error;
            document.getElementById("result").innerHTML = msg;
        };
        let sum = a + 2;
    </script>
</body>
</html>

結論

在本文中,我們學習了 JavaScript 中的 RefernceError 和 onerror 事件。我們還了解到,藉助 onerror 事件,我們可以捕獲 ReferenceError 物件。

更新於: 2023年9月12日

79 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.