我一直在阅读有关JavaScript的W3Schools教程,并且很难理解为什么我的脚本没有抛出异常。我希望它在调用document.getElementById(“paragraph”)时抛出异常,因为没有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>
答案 0 :(得分:2)
您的代码不会在var error = document.getElementById("paragraphs");
上抛出异常,因为document.getElementById()
在找不到元素时不会抛出异常,而是返回null
。 “备注”部分下的Check this documentation。
另外,如上面的评论所示,W3Schools不是一个很好的资源。纯粹的初学者活动有助于学习基础知识,但除此之外,它被更广泛的社区所知为不良编码实践的来源,有时只是简单的错误信息。
更好的文档资源(它没有教程,但有更好的文档,至少在Javascript上)是Mozilla Developer Network。