Menu
Coddy logo textTech

Tratando Múltiplas Exceções

Parte da seção Logic & Flow do Journey de Python da Coddy. Lição 65 de 78.

Em Python, podemos tratar diferentes tipos de exceptions em blocos except separados. Isso nos permite responder de forma diferente com base no error 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 várias 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 exception em um único bloco except:

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

A ordem dos blocos de except importa — sempre coloque exceptions mais específicas antes das mais gerais.

challenge icon

Desafio

Fácil

Crie uma função chamada process_data que:

  1. Aceita um string input que representa dados potenciais
  2. Tenta convertê-lo em um integer e, em seguida, calcula 100 divided por esse integer
  3. Retorna o result
  4. Lida com pelo menos 3 possíveis exceptions: 
    • ValueError se o input cannot ser convertido em um integer (imprima "Input must be a number!")
    • ZeroDivisionError se o input for 0 (imprima "Cannot divide by zero!")
    • Any other exception com um manipulador genérico (imprima "An unexpected error occurred!")
FORMATO DE SAÍDA OBRIGATÓRIO: [Seu conteúdo traduzido aqui]

Experimente você mesmo

def process_data(input_string):
    try:
        # Tente converter a string de entrada para um inteiro
        
        # Calcule 100 dividido pelo valor de entrada
        
        # Retorne o resultado
        
    except ValueError:
        # Trate o caso em que a entrada não pode ser convertida para um inteiro
        
    except ZeroDivisionError:
        # Trate o caso em que a entrada é zero
        
    except:
        # Trate 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 Logic & Flow

Pratique por conta própria: Compilador de Python online