Oi Victor, tudo bem?
A questão aqui é que o valor None
em Python não causa um TypeError
quando tentamos imprimi-lo, por isso, o bloco try
não falha e o except
não é executado.
O TypeError
seria lançado se você tentasse realizar uma operação que não é suportada com o tipo de dado. Por exemplo, se você tentasse adicionar um número a uma string, você teria um TypeError
.
No seu caso, você quer imprimir o valor, e None
pode ser impresso, então não há erro. Em vez disso, o Python imprime "None".
Se você quer que "Projeto não disponível" seja impresso quando o valor for None
:
for projeto in projetos:
if projeto:
print(f"Projeto: {projeto}")
else:
print("Projeto não disponível.")
Nesse caso, a condição if projeto:
verifica se o valor de projeto
é verdadeiro. Em Python, None
é considerado um valor "falso", então, quando projeto
é None
, a condição falha e "Projeto não disponível" é impresso.
Espero ter ajudado.
Um abraço e bons estudos.