Informe de errores
El informe de errores es muy importante para monitorear la estabilidad de tu aplicación, detectar regresiones con antelación y saber qué problemas ocurren con mayor frecuencia a tus usuarios. De forma predeterminada, cualquier excepción no capturada se registra en la pestaña ‘Errors’:

Además, los errores registrados también aparecerán en la grabación de la sesión, en la pestaña ‘Console’ dentro de DevTools:

Registrar excepciones manualmente
Section titled Registrar excepciones manualmenteEl tracker de OpenReplay admite el registro de 3 tipos de errores:
- Excepciones capturadas - Error
- Promesas rechazadas - PromiseRejectionEvent
- Eventos de error (onError) - ErrorEvent
Todos los anteriores pueden informarse mediante un único método:
tracker.handleError(error, metaObject); // metaObject is optional and is a flat object
Revisemos un ejemplo para cada tipo de error:
Excepciones capturadas (Error)
Section titled Excepciones capturadas (Error)De forma predeterminada, las excepciones capturadas no se registran en la pestaña ‘Console’. Para informar un error, podemos hacer lo siguiente:
try {
// application code
}
catch(err) {
// application code that handles the error
tracker.handleError(error, metaObject); // metaObject is optional and is a flat object
}
Promesas rechazadas (PromiseRejectionEvent)
Section titled Promesas rechazadas (PromiseRejectionEvent)Si una Promesa es rechazada y queremos informar el error a OpenReplay, podemos hacer lo siguiente:
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)Este ejemplo mostrará cómo informar un error en caso de que un elemento <img> no se cargue:
<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" });
}
¿Tienes preguntas?
Section titled ¿Tienes preguntas?Si tienes alguna pregunta sobre este proceso, no dudes en contactarnos en nuestro Slack o consultar nuestro Foro.