我对 JavaScript 还是比较陌生,来自更经典的(即 Java,也是 ActionScript 3.0)背景。我发现库/框架的 API 的错误实现通常会在调用堆栈中进一步破坏事情,而没有明确表明它是应用程序代码(而不是库代码)破坏了事情。
例如,一个 jQuery.trigger() 调用可能会调用一个抛出错误的处理程序,并且该调用不包含在 try-catch 中(也不实现任何其他类型的错误保护),并阻止所有其他处理程序触发。
我知道错误应该停止执行,但似乎库代码可以更好地从应用程序代码中沙箱化,而且我在 JS 库中看到这种破坏比在我使用过的其他语言中更频繁。