error-handling - 我如何处理异常?

标签 error-handling exception reactjs

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);
});

chrome console displaying the error

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

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

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

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

关于error-handling - 我如何处理异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29268791/

相关文章:

android - 资源链接失败/Android Studio College Project

c# - 您可以在不同的线程上重新抛出 .NET 异常吗?

javascript - 使用 Yup 和 Formik 创建带有个别错误消息的强密码

javascript - 查看传递给抛出异常的构造函数的字符串

Java : Problems accessing and writing to file

node.js - 我可以从 ts 编译器中动态排除文件吗?

javascript - 设备上的 React Native dev 构建过期了吗?

ios - Swift 单元测试从闭包内部抛出函数

python - 检查有关年,月,日的错误

c - 这段 C 代码对返回码有什么作用?