IT虾米网

error-handling之我如何处理异常

telwanggs 2025年12月25日 程序员 205 0

Angular 有一个很棒的 $exceptionHandler 。 React.js 有类似的东西吗?

我想将我的错误记录到外部 API。示例:

请您参考如下方法:

没有像 Angular 那样的魔力。如果存在 Uncaught Error ,它会向上传播范围,直到到达窗口,然后发出错误事件 - 与没有反应的错误行为相同。

var App = React.createClass({ 
  render: function(){ 
    throw new Error("rawr!"); 
    return <div>Hello, world!</div> 
  } 
}); 
 
window.addEventListener('error', function(e){ 
  // e instanceof ErrorEvent 
  console.error('caught the error: ' + e.message); 
}); 

如果您研究跨浏览器支持,请更新此答案或添加带有引用的评论。

您可以将其发送到任何您喜欢的地方,而不是将其记录到控制台(默认情况下已经发生)。

与其他一些框架不同, Uncaught Error 始终是代码中的错误。它永远不应该发生。

您可能还需要通过在链末尾显式添加 .catch(reportError) 并检查它是否是 TypeError 或 ReferenceError,对 Promise 错误进行一些特殊处理。


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!