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

133
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar

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 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