0

我一直在阅读有关 JavaScript 的 W3Schools 教程,并且很难理解为什么我的脚本没有引发异常。我希望它会在调用 document.getElementById("paragraphs") 时引发异常,因为没有 id 等于 paraghraphs。请让我知道为什么它没有抛出异常?

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Design Patterns</title>
</head>

<body>  

<button type="button" onclick="throwException()">Click Me!</button> 
<p id="paragraph">I am a paragraph</p>

<script>

function throwException(){

try{            
        var errorContainer = document.getElementById("paragraphs").value;               
}catch(err){            
        errorContainer.innerHTML="An error occured...";
        }
}

</script>


</body>
</html>
4

1 回答 1

2

您的代码没有引发异常,var error = document.getElementById("paragraphs");因为document.getElementById()在找不到元素时不会引发异常,而是返回null. 检查“注释”部分下的此文档。

此外,正如上面评论中所指出的,W3Schools 不是一个很好的资源。对于纯粹的初学者活动来说,学习最基本的知识是有好处的,但除此之外,更广泛的社区都知道它是不良编码实践的来源,有时只是简单的错误信息。

一个更好的文档资源(它没有教程,但有更好的文档,至少在 Javascript 上)是Mozilla 开发者网络

于 2013-11-12T02:02:27.023 回答