Não, n teve isso simplemente pulou e tenhos uma arquivo utils novo
Não, n teve isso simplemente pulou e tenhos uma arquivo utils novo
Olá, Marllon! Tudo bem?
Não sei se entendi bem a sua reclamação, mas pelo que entendi, você está enfrentando uma dificuldade com a manipulação de erros no curso de TypeScript, onde parece que a parte de manipulação de erros não foi abordada como você esperava, e agora você se depara com um novo arquivo utils
.
Parece que o curso pretendia que você implementasse uma classe para tratar os erros de forma mais específica, utilizando classes como RequisicaoRuim
e NaoEncontrado
. Essas classes ajudam a retornar respostas de erro mais claras e específicas, dependendo do tipo de erro que ocorre na aplicação.
Por exemplo, ao tentar buscar por um campo inválido ou atualizar um pet com um ID que não existe, a aplicação deveria retornar um erro mais específico, indicando o problema com o parâmetro fornecido, ao invés de um genérico "erro interno do servidor".
Aqui está um exemplo prático de como você poderia implementar isso:
export class ManipulaErros extends Error {
constructor(public message: string, public statusCode: number) {
super(message);
this.statusCode = statusCode;
Object.setPrototypeOf(this, new.target.prototype);
}
}
export class RequisicaoRuim extends ManipulaErros {
constructor(message: string) {
super(message, 400); // 400 é o código de status para Bad Request
}
}
export class NaoEncontrado extends ManipulaErros {
constructor(message: string) {
super(message, 404); // 404 é o código de status para Not Found
}
}
E no seu roteador ou controlador, você poderia usar essas classes para lançar erros específicos:
if (!pet) {
throw new NaoEncontrado("Pet não encontrado");
}
if (!validarCampo(campo)) {
throw new RequisicaoRuim("Campo de busca inválido");
}
Isso fará com que, quando esses erros ocorrerem, eles retornem ao cliente uma resposta com o código de status apropriado e uma mensagem de erro clara, o que facilita o diagnóstico e a correção de problemas.
Espero que essa explicação tenha esclarecido um pouco sobre como você pode manipular e tratar erros de forma mais eficaz em sua aplicação TypeScript.
Bons estudos!