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

244
Views
Nodo js con mecanografiado; Cómo detectar errores express

Entonces, si estoy usando node js con javascript, solía detectar errores agregando el siguiente código en mi archivo de inicio app.js:

 app.use((req, res, next) => { next(createError.NotFound()); }); app.use((err, req, res, next) => { res.status(err.status || 500).json({ status: err.status || 500, success: 0, message: 'Error', error: [err.message], data: {} }); });

el "err" se detectará automáticamente y devolverá, por ejemplo, 404 si estoy usando una ruta que no existe o 500 si la conexión a la base de datos no se establece correctamente y así sucesivamente.

Pero en mecanografiado, ¿cómo puedo hacer la misma lógica?

Mi archivo app.ts es el siguiente

 import express, { Application, Request, Response, NextFunction } from 'express'; import routes from './start/routes'; const app: Application = express(); app.use('/', require('./routes/api.route')); app.use(express.json()); app.use('/api', routes); app.use((err, req: Request, res: Response, next: NextFunction ) => { res.status(err.status || 500).json({ status: err.status || 500, success: 0, message: 'Error', error: [err.message], data: {} }); }); const PORT = process.env.PORT || 3001; app.listen(PORT, () => console.log(`🚀 @ http://localhost:${PORT}`));

esto no es compilar. Dice que err.status y err.message no se encuentran. ¿Qué hacer?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Falta el tipo del parámetro err , que debería ser any según el tipo ErrorRequestHandler . Tipo de controlador de solicitud de error

Esto hará que su código se compile y el controlador se ejecutará automáticamente cuando ocurra un error.

Sin embargo, para hacer una respuesta predeterminada a 404. Deberá agregar otro controlador ya que no es un error.

 app.use((req: Request, res: Response, next: NextFunction ) => { // Handle not found })

NOTA Este controlador debe ser el último ya que acepta todas las solicitudes.

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!