Comment gérer les exceptions?
Angular a un excellent $ exceptionHandler . Y a-t-il quelque chose comme ça pour react.js?
Je souhaite enregistrer mes erreurs dans une API externe. Exemples:
Il n'y a pas de magie comme dans angulaire. S'il y a une erreur non interceptée, elle se propage dans les étendues jusqu'à ce qu'elle atteigne la fenêtre, puis un événement d'erreur est émis - le même comportement qu'une erreur sans réaction.
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);
});
Si vous examinez la prise en charge de plusieurs navigateurs, veuillez mettre à jour cette réponse ou ajouter un commentaire avec des citations.
Au lieu de le connecter à la console (ce qui se produit déjà par défaut), vous pouvez l'envoyer où vous le souhaitez.
Contrairement à certains autres frameworks, une erreur non interceptée est toujours un bogue dans votre code. Cela ne devrait jamais arriver.
Vous devrez peut-être également faire une gestion spéciale des erreurs de promesse en ajoutant explicitement un .catch(reportError)
à la fin des chaînes et en vérifiant qu'il s'agit d'une TypeError ou ReferenceError.