No tiene sentido atrapar y lanzar como muestra. No hace nada útil excepto agregar código y ejecución lenta. Por lo tanto, si va a .catch()
volver a lanzar, debe haber algo que desee hacer en el .catch()
, de lo contrario, debe eliminar por .catch()
completo.
El punto habitual para esa estructura general es cuando desea ejecutar algo .catch()
como registrar el error o limpiar algún estado (como cerrar archivos), pero desea que la cadena de promesa continúe como rechazada.
promise.then(function(result){
}).catch(function(error) {
console.log(error);
throw error;
});
En un tutorial, puede estar ahí solo para mostrar a las personas dónde pueden detectar errores o para enseñar el concepto de cómo manejar el error y luego volver a lanzarlo.
Algunas de las razones útiles para atrapar y volver a lanzar son las siguientes:
- Desea registrar el error , pero mantenga la cadena de promesa como rechazada.
- Quieres convertir el error en otro error (a menudo para facilitar el procesamiento de errores al final de la cadena). En este caso, volvería a generar un error diferente.
- Desea realizar un montón de procesamiento antes de que continúe la cadena de promesas (como recursos cerrados / libres) pero desea que la cadena de promesas permanezca rechazada.
- Desea un lugar para colocar un punto de interrupción para el depurador en este punto de la cadena de promesa si hay una falla.
Pero, una simple captura y repetición del mismo error sin otro código en el controlador de captura no hace nada útil para la ejecución normal del código.