javascript - 如何在 JavaScript 中管理 "uncaught exceptions"以在用户界面中显示错误消息?

标签 javascript error-handling developer-tools uncaught-exception

当某些网站或 Web 应用程序抛出 Uncaught Exception 时,每个浏览器的 Develper 工具中都会出现错误
uncaught_exception
Electron例如,如果出现未捕获的异常,开发人员可以设置一个监听器并根据错误消息执行我想要的任何操作:

process.on('uncaughtException', function (error) {
    // Handle the error
}
所以,我想知道在 JavaScript 中是否有一种简单的方法可以做到这一点。这对于记录和存储用户工作时的常见错误很有用,或者为了向用户展示正在发生的事情,用户可以向开发人员发送反馈。
可以改为显示这样的内容
modal_exception
有时,如果发生错误,应用程序会处于不稳定状态,一切都被卡住,而用户不知道为什么。我认为告知错误很重要。
我找到了这个 Error JavaScript 对象。可以手动抛出,但只有在 try 时才能使用和 catch使用,而不是用于未捕获的异常,开发人员犯了一些错误。

最佳答案

您可以将其作为 window 对象上的事件监听器进行处理。

window.onunhandledrejection = event => {
  console.warn(`UNHANDLED PROMISE REJECTION: ${event.reason}`);
};

window.onerror = function(message, source, lineNumber, colno, error) {
  console.warn(`UNHANDLED ERROR: ${error.stack}`);
};

或者也像这样:
 window.addEventListener('error', function(event) { ... })

您可以阅读有关 unhandledrejection 的更多信息MDN web docs here 上的事件和 onerror docs here 上的事件

关于javascript - 如何在 JavaScript 中管理 "uncaught exceptions"以在用户界面中显示错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62475654/

相关文章:

javascript - 在 ajax 调用中传递 php 值

javascript - 如何将具有大量属性的对象作为 React Element 的 prop 传递?

python - 无法捕获 SQLAlchemy IntegrityError

developer-tools - 如何减少等待(ttfb)时间

facebook - 将开发人员添加到我的 Facebook 应用程序

javascript - jQuery .click()/.on ("click"...) 我需要帮助在交替点击时交换文本

javascript - 将字符串分成几个相等的子字符串

error-handling - 当请求处理程序失败时,NServiceBus 6回调客户端永远不会获得回调

php - 在 MacOS 中将 ZeroMQ 绑定(bind)到 PHP

javascript - Chrome element.style 裁剪图片