【发布时间】:2014-03-29 00:45:39
【问题描述】:
谁能解释一下为什么会这样:
<html>
<head></head>
<body>
<script>
try {
document.attribute-withminus = 5;
}
catch(e) {
alert('something went wrong');
}
alert('ok');
</script>
</body>
</html>
不给我“出了点问题”的警报,也没有给我“好的”警报?
它在 chrome 中运行良好。但在 Firefox 中,它只是退出(它确实在 Web 控制台中显示错误)。 try-catch 的全部目的是确保如果我输入错误,它应该给我一个警告说这样说。我不想让 Web 控制台一直打开。
另外,我知道这里出了什么问题(减号登录属性;应该使用 setAttribute)。我在问为什么我的错误没有被发现。
【问题讨论】:
-
我遇到了同样的问题。我使用 try..catch 来解决我正在使用的某个 JS 库的已知问题。该解决方法在 IE 和 Chrome 中是完美的,但在 Firefox 中则不是。在 Firefox 中不会捕获异常,这意味着错误下面的后续代码不会执行。这是一个问题。至于这里关于语法与早期错误的 cmets——它们都是错误,我希望 try..catch 能把它们捡起来。
标签: javascript firefox try-catch