En nuestra aplicación Quasar tenemos algunos archivos de arranque, algunos de ellos pueden encontrarse con una excepción que debería bloquear el inicio normal de la aplicación, en su lugar debería mostrarse un error.
¿Hay alguna mejor práctica para tal caso? No encontré mucho en la documentación.
Mi enfoque fue el siguiente, si ocurre un error, reenviar/redireccionar a una página de error y mostrar el error.
De alguna manera necesito pasar el error a la página de error:
reject() .Entonces, estaba pensando que tal vez haya una mejor manera de manejar los errores en los archivos de arranque. Detener el arranque actual e ir a la página de error...
Aquí hay un ejemplo reducido que terminará en la página /error pero con store.error vacío, reject() reiniciará la aplicación y restablecerá la store .
export default ({ app, store, urlPath }) => { // required to prevent invinite loop, the reject(url) will reboot application if (urlPath.indexOf("error") !== -1) { // TODO be more specific then indexOf("error") return; } return new Promise((resolve, reject) => { doSomeServerCommunication() .then((result) => { resolve(); }) .catch((e) => { store.commit("appStore/updateError", e); reject({ url: window.location.origin + "/app/error" }); return; }); }); };