Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

127
Views
¿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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!