javascript - 我们如何捕获主文件中包含的 javascript 文件引发的错误?

标签 javascript exception try-catch

考虑我正在使用脚本 main.js 的情况。

现在,当我在 main.js 文件中包含一些 random.js 文件时。

如果 random.js 文件生成一些错误,我如何在 main.js 文件中捕获并处理它,以便它不会到达客户端。

最佳答案

当外部脚本(例如从其自己的脚本标记加载的脚本)第一次初始化时,如果它抛出异常,则无法直接捕获该异常并从该脚本外部处理它。

如果您可以修改该脚本,那么您可以在初始化代码周围放置一个异常处理程序并在那里捕获错误。

random.js 内部:

try {
    // initialization code in random.js
} catch(e) {
    // code to handle the exception gracefully here
}
<小时/>

您可以做的一件事是使用以下方法连接全局错误处理程序:

window.onerror = function(errorMsg, url, lineNumber) { return true; };

如果此函数返回true,那么它将阻止任何默认错误处理。详情here .

<小时/>

如果问题是在从 main.js 调用 random.js 中的函数时发生的,那么您可以在 main.js 中围绕函数调用放置一个异常处理程序,并以这种方式捕获异常(但现在听起来像这不是您的具体情况)。

关于javascript - 我们如何捕获主文件中包含的 javascript 文件引发的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28668492/

相关文章:

javascript - noUiSlider - wNumb 仅格式化第一个 slider

JavaScript 单元测试和持续集成 2011

c++ - 为什么我们需要一个函数 try block ?

java - 错误页面返回状态代码 200 默认响应

javascript - IE 中客户端的 XSLT,当使用 JQuery 加载 XSL 文档时,XSL 包含 javascript

javascript - IE <选择> scrollTop

C#:是否应该捕获所有异常

sql-server - SQL Try Catch 在存储过程中 - 我这样做对吗?

c++ - throw-catch 导致联动错误

java - 为什么不抛出异常的代码允许捕获已检查的异常?