Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

TypeError em vez de ValueError

No exemplo dessa aula, já que estamos validando o tipo dos argumentos passados, não teria sido mais adequado lançar um TypeError em vez de um ValueError, como no exemplo abaixo?

    if not (isinstance(dividendo, int) and  isinstance(divisor, int)):
        raise TypeError("dividir() deve receber apenas argumentos inteiros")

Na documentação até se menciona que "Passing arguments of the wrong type (e.g. passing a list when an int is expected) should result in a TypeError, but passing arguments with the wrong value (e.g. a number outside expected boundaries) should result in a ValueError."

2 respostas
solução!

Olá Vinicius, bem observado!

Realmente também acho que faz mais sentido um TypeError nesse exemplo mesmo, até porque o teste foi exatamente sobre o tipo. Acho que o foco do instrutor nessa aula era mais sobre o fluxo do erro, por isso não deve ter se preocupado muito com o tipo do erro.

Mas bem observado novamente, e obrigado por compartilhar!

Obrigado pelo retorno, Lucas!

De fato, como o foco ali era o fluxo, deve ter passado o ponto.

Abraços!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software