9

我的 Javascript 代码(数百行)挂起 Chrome,当我调试问题时,我发现一个变量未定义。我没有在控制台中收到错误。所以这使我的调试更加耗时,因为没有错误或异常或任何告诉我问题出在哪里的东西。

我不想添加调试代码。有没有办法让调试器在运行时遇到未定义的变量时输出错误、中断调试器或给出异常或显示对开发人员有用的任何东西?它不一定只适用于 Chrome。

4

2 回答 2

11

当发生 JavaScript 错误时,您可以使用Pause on JavaScript Exceptions功能闯入 DevTools 调试器。它有两种活动模式;暂停所有异常,并暂停未捕获的异常。

根据您的经验描述,您正在处理的应用程序可能有错误被捕获但不会重新抛出或记录。在这种情况下,使用“暂停所有异常”(蓝色暂停图标)将有所帮助。

注意:一些库,比如 jQuery,会捕获异常并且不会重新抛出它们。如果您有这种经验,您可能需要在所有依赖项加载后提前跳过这些异常或设置“暂停所有异常”功能。

于 2013-10-10T22:16:43.557 回答
3
window.onerror = function() { debugger; }
于 2013-10-14T17:13:52.610 回答