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

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

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 Report

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