Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

95
Visualizações
¿Cuál es el punto de finalmente en un intento... atrapar?

¿Hay alguna razón para poner el código en un bloque finally en lugar de simplemente tener el código después de la instrucción try...catch ? Seguramente en ambos casos el código se ejecuta de todos modos.

 try {
 something();
} catch (error) {
 error_handling_with(error);
}
// code here gets executed whether in finally clause or not.
finally_something();

¿Hay algún lugar donde finally sea esencial después de try...catch ? Puedo ver que tiene un uso en Promises, pero no aquí.

almost 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

finally , básicamente se ejecuta incluso si tiene un retorno anticipado de try-catch o incluso si no maneja el error en try-catch . Aquí hay un ejemplo que me gusta:

 function myFunction() {
 try {
 console.log('inside "try"');
 return
 } finally {
 console.log('inside "finally"');
 }

 console.log("after try-finally");
}

myFunction()

Cuando ejecute myFunction() , imprimirá lo siguiente:

 inside "try"
inside "finally"

Desde que regresó de try , no ejecutó ninguna instrucción después del bloque try-finally . Pero, Javascript ejecutó el bloque finally .

almost 4 years ago · Santiago Trujillo Relatório

0

Creo que ha recibido la respuesta técnica correcta para esto. Sin embargo, si está solicitando un uso práctico, una situación es cuando desea cerrar una conexión en cualquier caso. Aquí hay un pseudocódigo para explicar:

 openConnection();

try {
 DoSomething();
 return;
} catch (anomaly) {
 handleAnomaly();
} finally {
 closeConnection();
}

Vea en el caso anterior, usted cierra la conexión en todos los casos, ya sea que haya una excepción manejada, una excepción no manejada o un flujo feliz, su conexión se cerrará y eso también sin duplicación de código.

almost 4 years ago · Santiago Trujillo Relatório

0

Catch/Finally son opcionales, la única regla es que siempre debe existir 1 de ellos.

Finalmente existe para que el código siempre se pueda ejecutar, sin importar si se detectó o no un error.

Yo diría que en algunos casos se agregan cuando no son necesarios, pero ayuda a la legibilidad, en otros casos podría ser solo un hábito.

almost 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda