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 错误进行一些特殊处理。
关于error-handling - 我如何处理异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29268791/