请看这段代码:
<!DOCTYPE html>
<html>
<body>
<p id="P1"></p>
<script>
try {
alllllllert("Hello.........!");
}
catch(err) {
document.getElementById("P1").innerHTML = err.message;
}
</script>
</body>
</html>
当这段代码运行时出现错误,我进入了 catch block 。
但是,为什么在下面的代码中没有发生这种情况:
<!DOCTYPE html>
<html>
<body>
<p id="P1"></p>
<script>
try {
int n = 3;
document.getElementById("P1").innerHTML = n;
}
catch(err) {
document.getElementById("P1").innerHTML = err.message;
}
</script>
</body>
</html>
写 int n = 3 不能在 JavaScript 上编译,我知道我需要写 var n =3。那么,为什么我没有收到消息异常?
最佳答案
int n = 3;
是无效的语法,这会阻止您的整个 <script>
阻止被解析。
因此,您的 catch
block 实际上并不存在。
关于javascript - 为什么在调用缺少的函数时会捕获错误,而不是在错误的语句上捕获错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26222339/