Menu
Coddy logo textTech

Tratando Múltiplas Exceções

Parte da seção Lógica e Fluxo do Journey de Python da Coddy. Lição 65 de 78.

Em Python, podemos lidar com diferentes tipos de exceções em blocos except separados. Isso nos permite responder de maneiras diferentes com base no erro específico que ocorre.

Comece com uma estrutura básica de try-except:

try:
    # Código que pode levantar exceções
    pass
except Exception as e:
    # Trata qualquer exceção
    pass

Para lidar com múltiplas exceções, adicione blocos except específicos:

try:
    number = int(input("Enter a number: "))
    result = 10 / number
    print(result)
except ValueError:
    print("That's not a valid number!")
except ZeroDivisionError:
    print("Cannot divide by zero!")

Você também pode capturar vários tipos de exceção em um único bloco except:

try:
    # Algum código
    pass
except (ValueError, TypeError):
    print("Invalid input type!")

A ordem dos blocos except é importante — sempre coloque as exceções mais específicas antes das mais gerais.

challenge icon

Desafio

Fácil

Crie uma função chamada process_data que:

  1. Aceita uma entrada de texto que representa dados em potencial
  2. Tenta convertê-la em um número inteiro e, em seguida, calcula 100 dividido por esse número inteiro
  3. Retorna o resultado
  4. Trata pelo menos 3 exceções possíveis: 
    • ValueError se a entrada não puder ser convertida em um número inteiro (imprima "Input must be a number!")
    • ZeroDivisionError se a entrada for 0 (imprima "Cannot divide by zero!")
    • Qualquer outra exceção com um tratador genérico (imprima "An unexpected error occurred!")

Experimente você mesmo

def process_data(input_string):
    try:
        # Tenta converter a string de entrada para um inteiro
        
        # Calcula 100 dividido pelo valor de entrada
        
        # Retorna o resultado
        
    except ValueError:
        # Trata o caso em que a entrada não pode ser convertida para um inteiro
        
    except ZeroDivisionError:
        # Trata o caso em que a entrada é zero
        
    except:
        # Trata quaisquer outras exceções inesperadas
        
    return None
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica e Fluxo

Pratique por conta própria: Compilador de Python online