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

140
Visualizações
¿Qué tipo de errores maneja este bloque try-catch?
//mongoose connection function const connectDB = (url) => { return mongoose.connect(url, { useNewUrlParser: true, useUnifiedTopology: true }) .then(() => console.log('Connected to database')) .catch(err=>console.log(`DB CONNECTION ERR ${err}`)) } const port = process.env.PORT || 5000 const mongoURI = process.env.MONGO_URI //start const start = async () => { try { await connectDB(mongoURI) app.listen(port, () => console.log(`Server running at ${port}`)) } catch (error) { console.log(error); } } start()

Esta es la configuración básica de mi servidor. Intenté jugar con la configuración de la conexión mongoose y app.listen() también, pero el bloque catch (en try-catch) no manejó nada. ¿El bloque catch solo maneja los errores que arrojamos?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

try / catch no maneja nada porque evita que vea errores con este código en connectDB :

 .catch(err=>console.log(`DB CONNECTION ERR ${err}`))

Eso convierte el rechazo en cumplimiento con el valor undefined (el valor de retorno de console.log ).

Así como debe evitar detectar excepciones demasiado pronto, debe evitar manejar los rechazos demasiado pronto. Eso es más fácil (en mi humilde opinión) si usa constantemente funciones async cuando sea posible:

 const connectDB = async (url) => { // *** Make it an `async` function await mongoose.connect(url, { // *** Await connection useNewUrlParser: true, useUnifiedTopology: true }); console.log('Connected to database'); // *** Connection worked }; const port = process.env.PORT || 5000; const mongoURI = process.env.MONGO_URI; //start const start = async () => { try { await connectDB(mongoURI); // ** Now you'll see errors here app.listen(port, () => console.log(`Server running at ${port}`)); } catch (error) { console.log(error); } }; start();
about 4 years ago · Juan Pablo Isaza Relatório

0

  • "promesa" ( funciones asíncronas si lo desea): arroja un error en .catch() , si no se especifica, actúa como de costumbre

  • "habitual": arroja un error en el bloque try{}catch(){}

 const port = process.env.PORT || 5000; const mongoURI = process.env.MONGO_URI; // // // mongoose.connect(mongoURI, { useNewUrlParser: true, useUnifiedTopology: true, // useFindAndModify: false, // useCreateIndex: true, }).catch((e)=>{ console.log('db error', e.message); }); // // // (async()=>{ // main code })(); app.listen(port, ()=>console.log(`Server running at http://localhost:${port}/`));

Refactoricé un poco el código, fue doloroso verlo 🙂🙂🙂

  1. Especifique la dirección local en el "registro de escucha", buenas prácticas, acceso directo desde la consola IDE al navegador
  2. Dos claves para db, las usé, tal vez las necesites
  3. Función autoejecutable, más
about 4 years ago · Juan Pablo Isaza 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