让我抓狂的一件事是 Javascript 在许多不同的情况下会默默地失败。
(删除了示例,因为它混淆了我的问题的要点)
很多时候我遇到过一个错误,当在 Firebug 控制台中输入时会给出错误消息,但是当它在页面脚本中运行时,它会默默地失败,即使 Firebug 控制台处于事件状态并打开!
其中一些问题可以被 Crockford 的 JsLint 捕获,但仍有很多问题无法捕获。
有没有办法在浏览器中启用更多错误消息?
您可以在不使用 javascript 调试器环境的情况下完成此操作吗?我发现调试器对我帮助不大。我通常会撒几条console.log()语句,一分钟就能定位到问题。让我抓狂的是,Javascript 中的无声错误可能会在很长一段时间内被忽视,或者以根本不明显的方式出现。更令人沮丧的是,在控制台中测试该语句确实给出了错误,那么这是怎么回事?
顺便说一句,我也遇到了同样的异常问题,有人注意到这一点吗?很多时候我的 throw new
语句根本不起作用。但如果我在控制台中输入相同的内容,就会出现这种情况。
感谢您的有用评论(第一个答案),但这不是我的问题。当您需要清理类的参数时(例如,当您不确定环境时),这些测试非常有用。您不想测试您期望的属性或类是否存在;这会无缘无故地使代码变得臃肿。
最佳答案
我认为这个问题的一些答案误解了这个问题。 IIUC,问题是当此代码在真实网页中运行时,错误被消除,但OP不希望它被消除。 (大概主要是为了调试目的。)
我的问题是,这段代码真正在网站的上下文中运行在哪里?很可能有其他东西在错误到达您之前将其压制住。例如,某些库可能会本能地抑制特定回调(例如 XHR)中发生的错误。但是,如果它们很好,它们也往往会提供一个 Hook 点,以便在发生错误时接收通知。
关于javascript - 有什么办法可以阻止 Javascript 默默地失败吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3941478/