Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

2
respostas

Desafio: hora da prática

2 respostas

Olá, Estudante. Como vai?

Analisei o seu notebook do Google Colab referente ao desafio de Lidando com exceções. É muito importante praticar esse conceito, pois em Data Science lidamos constantemente com dados inesperados, nulos ou formatos incorretos que podem interromper a execução de um script longo se não houver um tratamento adequado.

No seu código, você aplicou a estrutura fundamental do Python para controle de erros. Para complementar seu aprendizado e ajudar na organização do seu desafio, vale destacar a função de cada bloco:

  • try: É onde colocamos o código "perigoso", que suspeitamos que possa gerar um erro (como uma divisão por zero ou a leitura de um arquivo inexistente).
  • except: É o plano de contingência. Aqui você define o que o programa deve fazer caso o erro ocorra, evitando que o sistema trave (o famoso crash).
  • finally: Um bloco muito útil em projetos de dados para fechar conexões com bancos de dados ou arquivos, pois ele executa sempre, independentemente de ter ocorrido erro ou não.

Uma boa prática avançada é sempre tentar capturar exceções específicas em vez de usar um except genérico. Por exemplo, se o seu desafio envolve cálculos matemáticos com entradas do usuário, você pode tratar erros de tipo e de valor separadamente:

try:
    notas = [10, 5, 8]
    media = sum(notas) / len(notas)
    print(f"A média é: {media}")
except ZeroDivisionError:
    print("A lista de notas está vazia, não é possível dividir por zero.")
except TypeError:
    print("Certifique-se de que todos os elementos da lista são números.")

Isso torna seu código muito mais fácil de depurar (debugar), pois você sabe exatamente qual tipo de problema aconteceu. Continue explorando as diversas exceções que o Python oferece, como KeyError para dicionários e FileNotFoundError para manipulação de arquivos.

Espero que possa ter lhe ajudado!

Olá Evandro,

Obrigada pela explicação, pq sim, nesse excercicio tive um pouco de dificuldade mesmo, caso tenha algum material complementar para meu aprendizado agradeço se puder indicar.