1
resposta

[Reclamação] "fizemos a manipulacao de erros"

Não, n teve isso simplemente pulou e tenhos uma arquivo utils novo

1 resposta

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!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.