Non c'è nessuna magia come in angolare. Se c'è un errore non catturato, si propaga verso gli ambiti fino a quando non colpisce la finestra, e quindi viene emesso un evento di errore - lo stesso comportamento di un errore senza reagire.
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);
});
Se si guarda in supporto cross browser, si prega di aggiornare questa risposta o aggiungere un commento con le citazioni.
Invece di collegarlo alla console (che già avviene per impostazione predefinita), è possibile inviarlo ovunque si desideri.
A differenza di altri framework, un errore non rilevato è sempre un bug nel codice. Non dovrebbe mai accadere.
Potrebbe inoltre essere necessario eseguire una gestione speciale degli errori di promessa aggiungendo esplicitamente uno .catch(reportError)
alla fine delle catene e controllando che si tratti di un errore TypeError o ReferenceError.
Questo è stato fantastico! Grazie per la spiegazione chiara e dettagliata :) – Eric
'throw new Error (" rawr! ");' Spaventoso: D – developerbmw
+1 per "A differenza di altri framework, un errore non rilevato è sempre un bug nel codice. Non dovrebbe mai accadere ". :) – macou