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."