1
resposta

Questão 5 de projetos da última aula.

Nela o instrutor optou pelo try-except dentro da função sem a necessidade de um try-except externo. Ou seja, a função vai tratar o Error/Exceção antes mesmo de isso ir pro código. Mas qual é a melhor prática a ser adotada? Ter um try-except externo ou sempre optar por embutir o try-except dentro da sua função.

1 resposta

Ei! Tudo bem, Leonam?

Não existe uma regra fixa, mas existe uma boa prática conceitual: a função deve tratar apenas os erros que ela realmente sabe resolver.

Se o erro faz parte da responsabilidade da função, faz sentido usar try-except dentro dela. Por exemplo, se a função já espera que possa receber um valor inválido e quer retornar algo padrão ou uma mensagem amigável, ela mesma pode tratar isso.

Agora, se o erro é algo que o código “de cima” precisa decidir o que fazer (encerrar o programa, pedir novo input, registrar log, etc.), então o ideal é deixar a exceção subir e tratar fora da função.

Em projetos maiores, é muito comum:
– A função levantar a exceção (raise)
– E o tratamento acontecer em um nível mais alto da aplicação

Isso evita esconder erros silenciosamente e deixa o sistema mais organizado. A sua pergunta foi ótima, demonstra um pensamento de quem já está evoluindo do "saber do código" para "saber arquitetura"!

Espero ter ajudado. Conte sempre com o nosso apoio aqui no fórum em dúvidas e sugestões!

Bons estudos e até mais!

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