“如何管理”;“未捕获的例外情况”;用JavaScript在用户界面中显示错误消息?

“如何管理”;“未捕获的例外情况”;用JavaScript在用户界面中显示错误消息?,javascript,error-handling,developer-tools,uncaught-exception,Javascript,Error Handling,Developer Tools,Uncaught Exception,当在某些网站或web应用程序中引发未捕获的异常时,每个浏览器中的开发工具中都会出现错误 例如,如果出现未捕获的异常,开发人员可以设置一个侦听器,并根据错误消息执行任何操作: process.on('uncaughtException', function (error) { // Handle the error } 因此,我想知道是否有一种简单的方法可以在JavaScript中实现同样的功能。为了记录和存储用户工作时的常见错误,或者为了显示用户发生了什么,用户可以向开发人员发送反馈

当在某些网站或web应用程序中引发未捕获的异常时,每个浏览器中的开发工具中都会出现错误

例如,如果出现未捕获的异常,开发人员可以设置一个侦听器,并根据错误消息执行任何操作:

process.on('uncaughtException', function (error) {
    // Handle the error
}
因此,我想知道是否有一种简单的方法可以在JavaScript中实现同样的功能。为了记录和存储用户工作时的常见错误,或者为了显示用户发生了什么,用户可以向开发人员发送反馈,这可能很有用

这样的东西可以展示出来

有时,如果出现错误,应用程序将处于不稳定状态,所有内容都被冻结,用户不知道原因。我认为告知错误很重要


我找到了这个JavaScript对象。它可以手动抛出,但只有在使用了
try
catch
时才可以使用,而不适用于开发人员犯了一些错误的未捕获异常。

您可以将其作为窗口对象上的事件侦听器来处理

try {
  // YOUR CODE GOES HERE
} catch (e) {
 if ( e instanceof CustomExceptionError ) {
    // ...
  } else if ( e instanceof OtherExceptionError ) {
    // ...
  } else {
    // ...
  }
 //OR CALL THE ALERT BOX OR ANY OTHER UI CHANGE
}
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
事件和上的
onerror
事件的更多信息,谢谢您的回答。但是,请阅读整个问题,我在寻找一些未发现的例外。我在最后一段中对您的解决方案进行了评论,而这段代码可能会回答这个问题,提供关于如何和/或为什么解决这个问题的额外上下文,这将提高答案的长期价值。谢谢!!这就是我要寻找的:)你是否知道是否有可能从事件对象获取堆栈跟踪?因为我只能得到我找到的如何做的“原因”,所以我只是将所有可能的参数添加到onerror中