[英]Showing JavaScript exception message in Chrome dev tools
我正在使用Chrome开发工具来调试我的JavaScript。 当我告诉Chrome浏览器“不要在异常情况下暂停播放”并加载脚本时,我会清楚地了解到出了什么问题,并突出显示了正确的行:
var back_buffer = goog.dom.getElement('back_buffer').getContext('2d');
--> "Uncaught TypeError: Cannot call method 'getContext' of null"
好的,这很有意义:我的canvas元素名称中有一个错字,因此'getElement'返回null。
现在开始我的问题:当我告诉Chrome浏览器“暂停未捕获的异常”时,它仍正确地突出显示了脚本中令人反感的行,但是现在,漂亮的,可理解的错误描述已经消失了! 怎么来的? 即使在调试模式下,我也希望看到错误消息,因为它非常有帮助。 我四处戳,但找不到任何地方。
有人可以帮忙吗?
目前似乎没有很好的方法来执行此操作。 这是您可以获得的最接近的:
该错误未显示,因为该脚本的执行在异常发生之前就已暂停。
错误之前会暂停,因此您可以在控制台中调试某些内容。 在您所谈论的情况下,我倾向于做的事情是,并且范围变量不再提供任何更多信息,是在控制台中添加一些监视表达式或执行一些命令。
在您的back_buffer情况下,您可以例如添加一个监视表达式,例如goog.dom.getElement('back_buffer')
以便查看其解析结果。 如果该表达式导致错误,您将在该处看到错误消息,就像发生脚本错误之后一样。
对于某些人来说,可能并不完全清楚,当脚本执行停止时,执行上下文与脚本暂停时的执行上下文相同,因此可以在控制台中通过console.log()或控制台访问所有局部变量。 console.dir()或其他任何东西。
当您将漂亮的打印设置为开时,在那一行上停下来的行将不会太多,因此在大多数情况下,您不必费时间搜索即可了解导致错误的原因以及原因。
希望对您有所帮助,PM5544。
执行后,您应该能够在有问题的源代码行下方的红色气泡消息中看到相同的文本。
只需再执行一次“步骤”,就会出现红色气泡。 这是合乎逻辑的,因为它会在错误/气泡行为发生之前暂停。
如果捕获到异常并将其发送到日志该怎么办:
try
{
var back_buffer = goog.dom.getElement('back_buffer').getContext('2d');
}
catch(err)
{
console.log(err);
}
进入控制台后,您可以更详细地检查对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.