Signalement des erreurs
Le signalement des erreurs est très important pour surveiller la stabilité de votre application, repérer les régressions à l’avance et savoir quels problèmes surviennent le plus souvent chez vos utilisateurs. Par défaut, toute exception non interceptée est enregistrée dans l’onglet ‘Errors’ :

De plus, les erreurs enregistrées apparaîtront également dans l’enregistrement de session, sous l’onglet ‘Console’ dans les DevTools :

Enregistrer manuellement les exceptions
Section titled Enregistrer manuellement les exceptionsLe tracker OpenReplay prend en charge l’enregistrement de 3 types d’erreurs :
- Exceptions interceptées - Error
- Promesses rejetées - PromiseRejectionEvent
- Événements d’erreur (onError) - ErrorEvent
Tous les types ci-dessus peuvent être signalés à l’aide d’une seule méthode :
tracker.handleError(error, metaObject); // metaObject is optional and is a flat object
Examinons un exemple pour chaque type d’erreur :
Exceptions interceptées (Error)
Section titled Exceptions interceptées (Error)Par défaut, les exceptions interceptées ne sont pas enregistrées dans l’onglet ‘Console’. Pour signaler une erreur, nous pouvons procéder comme suit :
try {
// application code
}
catch(err) {
// application code that handles the error
tracker.handleError(error, metaObject); // metaObject is optional and is a flat object
}
Promesses rejetées (PromiseRejectionEvent)
Section titled Promesses rejetées (PromiseRejectionEvent)Si une Promesse est rejetée et que nous voulons signaler l’erreur à OpenReplay, nous pouvons procéder comme suit :
function myFunc() {
doSomeAsyncStuff()
.then((result) => {
// application code
})
.catch(promiseRejectionErr => {
// application code to handle the error
tracker.handleError(promiseRejectionErr, metaObject); // metaObject is optional and is a flat object
})
}
onError (ErrorEvent)
Section titled onError (ErrorEvent)Cet exemple montrera comment signaler une erreur dans le cas où un élément <img> ne se charge pas :
<img id="myImg" src="image.gif">
<p id="demo"></p>
document.getElementById("myImg").addEventListener("error", myFunction);
function myFunction(errorEvent) {
document.getElementById("demo").innerHTML = "The image could not be loaded.";
tracker.handleError(errorEvent, { context: "demo" });
}
Vous avez des questions ?
Section titled Vous avez des questions ?Si vous avez des questions concernant ce processus, n’hésitez pas à nous contacter sur notre Slack ou à consulter notre Forum.