HTML 如何使用“onerror”捕获“ReferenceError”错误
“ReferenceError”是JavaScript编程中常见的错误。使用“onerror”事件可以很好地捕获这些错误,并防止它们导致程序崩溃。
什么是“ReferenceError”?
当程序尝试访问一个不存在的变量或对象时,就会发生“ReferenceError”。这可能是由于拼写错误的变量名,或者尝试访问尚未初始化的对象。
示例: 以下是代码和错误的输出:
HTML
<!DOCTYPE html>
<html>
<head>
<script>
var x = y; // this will cause a "ReferenceError"
</script>
</head>
<body>
<div>GeeksforGeeks:- OneError</div>
</body>
</html>
输出结果:

如何使用“onerror”捕获“ReferenceErrors”错误?
当程序发生错误时,“onerror”事件将被触发。您可以使用此事件来捕获“ReferenceErrors”错误并防止它们使您的程序崩溃。
示例1: 在下面的示例中,我们将使用“onerror”事件来捕获一个“ReferenceError”错误并显示错误信息。下面是完整的代码示例:
HTML
<!DOCTYPE html>
<html>
<head>
<script>
window.onerror = function (error, url, line) {
alert("Error: " + error + "\nURL: " +
url + "\nLine: " + line);
};
var x = y; // this will cause a "ReferenceError"
</script>
</head>
<body>
<div>GeeksforGeeks:- OneError</div>
</body>
</html>
输出结果:

示例2: 在这个示例中,我们将使用“onerror”事件捕获“ReferenceError”并显示错误信息。我们还将使用“stack”属性来显示错误的调用堆栈。下面是完整的工作代码示例:
HTML
<!DOCTYPE html>
<html>
<head>
<script>
window.onerror = function (error, url, line, column, stack) {
console.log("GeeksforGeeks Error: ");
console.log("Stack: " + stack);
};
var x = y; // ReferenceError: foo is not defined
</script>
</head>
<body>
<div>GeeksforGeeks:- OneError</div>
</body>
</html>
输出:

极客教程