Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

124
Vistas
¿Es una buena práctica tener siempre un bloque catch para la declaración de espera?

Por ejemplo, tengo una función asíncrona:

 prepAttrsRef.current.addEventListener('documentstatechanged', async (evt: CustomEvent<FlowDocumentState>) => { if (evt.detail.draftState === 'unpublished-changes') { dispatch(updateIsFlowpublished(false)); await publishPrepFlow(); } if (evt.detail.draftState === 'all-changes-published') { await cleanSteps[0].selectAsync(); } } await getAndDispatchPrepColumns(); });

¿Debería encerrar siempre las líneas de await con try/catch o al menos un catch para manejar el caso potencial de que la promesa podría ser rechazada? (Aunque no se si la promesa será rechazada o no, ya que estoy llamando a la API creada por otros)

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Siempre es una buena práctica manejar las excepciones en el punto de origen para evitar horas de depuración para descubrir por qué el código se está rompiendo. Ahora, habiendo dicho eso, creo que debe decidir en qué nivel necesita manejar las excepciones.

En producción, no tiene idea de qué entradas/parámetros puede obtener si están expuestos al usuario final. Puede haber un caso en el que la entrada sea un valor que no pueda ser manejado por la API subyacente, lo que hará que su servicio falle.

ingrese la descripción de la imagen aquí

Por ejemplo,

Si envuelve todo el bloque de código, es decir, dos declaraciones de await en un bloque try-catch , no sabrá qué await falló a menos que tenga excepciones personalizadas generadas por la función esperada.

about 4 years ago · Juan Pablo Isaza Denunciar

0

para un código limpio, sí, debe hacer eso, se supone que su función debe hacer una cosa y si falla, debe dejar que ladre (dónde está el problema), eso lo ayudará en la depuración.

si tiene muchos intentos/capturas en el mismo bloque, su función hace muchas cosas y eso no es una buena práctica.

Es un buen ejemplo

 try{ await publishPrepFlow(); }catch(error){ // throw it to handle it on a different level throw Error('unable to publishPrepflow') // no any action | write on log file at least ... console.log('unable to publishPrepflow') }

para manejar todas las excepciones no detectadas y las promesas rechazadas

 process .on('unhandledRejection', (reason, p) => { console.error(reason, 'Unhandled Rejection at Promise', p); }) .on('uncaughtException', err => { console.error(err, 'Uncaught Exception thrown '+ err.message); });

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda