Script Aula 9 - Tratamento de Exceções: TRY, EXCEPT, ELSE e FINALLY
- Adilson Padovan Junior

- 13 de abr. de 2024
- 2 min de leitura
Link da Aula - Curso Completo YouTube (@profadilson):
Script (Python) da Aula:
# Tratamento de Exceções: try, except, # else e finally para tratar erros.# try: é usado para testar um bloco de código # quanto a erros. O código dentro do bloco try é executado # normalmente. Se ocorrer um erro, a execução passa para # o bloco except.# except: Este bloco permite que o programa lide com o # erro detectado no bloco try. Podemos especificar # diferentes blocos except para tratar diferentes # tipos de erros. No exemplo abaixo, tratamos # especificamente 'ZeroDivisionError' e 'TypeError', # que são tipos comuns de exceções que podem ocorrer # em uma operação matemática como a do exemplo abaixo.# else: Se nenhum erro ocorrer no bloco try, o bloco # else é executado. É útil para código que deve ser # executado quando o bloco try não gera uma exceção.# finally: Este bloco é executado independentemente # de ocorrer uma exceção ou não, e é geralmente usado # para realizar ações de limpeza, como fechar arquivos # ou liberar recursos externos.# Exemplo de tratamento de exceções em Pythondef dividir(a, b): try: # Tentar calcular operação: resultado = a / b except ZeroDivisionError: # Exceto se ... print("Erro: Não é possível dividir por zero.") print("vou resolver esse erro para você") resultado = a + b print(f'o resultado agora é uma soma {resultado}') except TypeError: # Exceto se... print("Erro: Tipo de dado não suportado" " para a divisão.") else: # Se não ... print(f"Resultado da divisão: {resultado}") finally: # Finalmente ... print("Esta mensagem é impressa independente de " "ocorrer uma exceção ou não.")print("Teste 1: Divisão normal")dividir(10, 2) # Inteirodividir(10, 2.5) # Floatprint("\nTeste 2: Divisão por zero")dividir(10, 0)print("\nTeste 3: Divisão com tipo de" "dado incompatível")dividir(10, "2")# Outro Exemplo:def soma(a, b): try: resultado = a + b except TypeError: print("Erro: Ambos os valores devem ser" " numéricos para a adição.") else: print(f"Resultado da adição: {resultado}") finally: print("Esta mensagem é impressa " "independentemente de ocorrer uma " "exceção ou não.")print("Teste 1: Adição normal")soma(5, 3)print("\nTeste 2: Adição com um tipo de " "dado incompatível")soma(5, "dois")


Comentários