La pregunta es simple, pero no he encontrado la respuesta en ninguna parte.
¿Cuándo debo usar Try Catch? en el siguiente código, uso try catch para manejar la devolución de una solicitud:
async findUsers() { this.loading = true; try { const [users, count] = await this.api.get('/users/list'); this.users = users; this.totalPages = Math.ceil(parseInt(count) / 10); } catch (error) { this.Messages.requestFailed(error); } finally { this.loading = false; } }¿Sería una buena práctica usar then(...).catch(...)?
La diferencia está en cómo entregas Promesas.
Si está usando await para manejar la Promesa, entonces envuélvala en un try/catch . Piense en await como una forma de hacer que las operaciones asincrónicas sean semánticamente similares a las operaciones sincrónicas.
Pero si no está utilizando await y, en cambio, está manejando la Promesa al agregarle .then() , entonces agregaría un .catch() a esa cadena para detectar fallas desde dentro de la operación asíncrona.
Porque un try/catch no detectará una excepción que ocurra dentro de la operación asíncrona si no se espera esa operación.
Cuando usa promesas ( operaciones asincrónicas ), debe manejar la excepción en caso de error. Entonces, en este caso, puede usar .then().catch(err) {}
Cuando tenga código síncrono, use try/catch para el manejo de excepciones.