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

433
Visualizações
Error de mecanografiado al agregar la propiedad al objeto de error "La propiedad... no existe en el tipo 'Error'"

Estoy tratando de pasar a mecanografiado con mi aplicación Node/Express. Anteriormente mi código era:

 //app.js const error = new Error('Not Found'); error.status = 404;

Cuando intento esto:

 //app.ts const error = new Error('Not Found'); error.status = 404; // Property 'status' does not exist on type 'Error'.ts(2339)

Entiendo de la documentación de developer.mozilla.org que el constructor de errores tiene los siguientes parámetros opcionales: message , options , nombre de fileName , número de lineNumber , así que supongo que status no debería permitirse. Creo que lo copié de un tutorial de YouTube, así que supongo que en realidad no es una buena práctica.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

TypeScript no permite agregar propiedades desconocidas. Hay formas de definir objetos con claves arbitrarias (por ejemplo, Record ).

En este caso, podría crear su propia subclase para Error que incluye la propiedad de status .

 class StatusError extends Error { status: number | undefined; } const e = new StatusError('Not found'); e.status = 404;

También puede agregarlo al constructor, luego puede eliminar con confianza el undefined .

 class StatusError extends Error { constructor(public status: number, message?: string) { super(message) } } const e = new StatusError(404, 'Not found');
over 4 years ago · Santiago Trujillo Relatório

0

Encontré en la documentación de expressjs.com que hay una sección sobre "¿Cómo manejo las respuestas 404?", donde proporcionan este ejemplo:

 app.use(function (req, res, next) { res.status(404).send("Sorry can't find that!") })

Así que produje esto y detuvo el error:

 import express, {NextFunction, Request, Response} from "express"; const app = express(); ... app.use((req: Request, res: Response, next: NextFunction) => { res.status(404).send("Sorry can't find that!"); }); export { app };
over 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