给JavaScript添加全局的try/catch

28

有没有一种方法可以将整个页面包装在 try/catch 中,以便我可以捕获执行的任何脚本中的任何错误?

2个回答

49
使用 onerror 代替一个大的 try/catch 块。您的错误处理程序中可以执行实用的操作,例如将错误信息发布到服务器,以便了解页面上出现故障的情况。

6
我使用这种确切的方法来捕获JavaScript错误,然后提交一个AJAX报告,将其存储在数据库中。这有助于我调试那些很难捕获的问题。 - Mikhail
1
@Mikhail:当你发表评论时,我已经更新了以确切地说出那个意思 :) - Jonathon Faust

-5

打开调试器并在错误处中断。

你不想在生产代码中捕获整个页面的每个错误。那太可怕了。


同意 - 这很hacky,但我正在尝试将jQuery内容添加到现有页面中,并希望即使现有脚本出错,我的代码也能运行。 - David Martines
3
实际上,您确实希望在生产代码中执行此操作,以将前端异常记录到服务器。 - FlavorScape

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接