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
passPara 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.
Desafio
FácilCrie uma função chamada process_data que:
- Aceita um string input que representa dados potenciais
- Tenta convertê-lo em um integer e, em seguida, calcula 100 divided por esse integer
- Retorna o result
- Lida com pelo menos 3 possíveis exceptions:
ValueErrorse o input cannot ser convertido em um integer (imprima "Input must be a number!")ZeroDivisionErrorse o input for 0 (imprima "Cannot divide by zero!")- Any other exception com um manipulador genérico (imprima "An unexpected error occurred!")
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 NoneEsta 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
1Exploração de Variáveis
ConstantesAtribuição de Múltiplas VariáveisTroca de VariáveisVariáveis de Espaço ReservadoArredondar NúmerosCasting de Listas4Aplicativo de Agenda de Contatos
Exibir MenuAdicionar Contato7Conjuntos Parte 2
Operações Matemáticas Parte 1Operações Matemáticas Parte 2Revisão - Caça ao TesouroSubconjuntos e SuperconjuntosIterando sobre ConjuntosRevisão - Rastreador de Torneio10List Comprehensions Básicas
A SintaxeCriando Listas SimplesAdicionando CondiçõesUsando Agregação de DadosRecapitulação - House Of ListsRecapitulação - Elements Of Freedom13Sistema de Gerenciamento de Inventário
Visão Geral do ProjetoAdicionar Item2Dicionários Parte 1
O que é um Dicionário?Criando um DicionárioAcessando ValoresModificando DicionáriosRecapitulação - Gerenciador de Receitas5Tomada de Decisão Avançada
Operador TernárioVerificações de PertencimentoVerificações de IdentidadeErros de IndentaçãoRecapitulação - Filtro de Férias8Gerenciador de Registros de Alunos
Visão Geral do ProjetoAdicionar Aluno11Funções Avançadas
Retornando Múltiplos ValoresFunções Lambda Parte 1Funções Lambda Parte 2Desafio de Recapitulação - Lambda SortFunções Recursivas Parte 1Funções Recursivas Parte 2Recapitulação - Somar Listas Aninhadas14Funções de Ordem Superior
A Função MapA Função FilterRecapitulação - Validador de E-mailRecapitulação - Processador de Números3Dicionários Parte 2
Métodos de DicionárioDicionários AninhadosVerificando ChavesIterando em DicionáriosRecapitulação - Contador de Frequência6Conjuntos Parte 1
O que é um Conjunto?Operações BásicasMétodos de ConjuntosRecapitulação - Remover Duplicatas9Agregação de Dados Avançada
Usando SumEncontrando Mínimo e MáximoOrdenando Dados de Forma EficienteRecapitulação - Dictionary Sorter12Tratamento Básico de Erros
O que é Tratamento de Erros?O Bloco Try e ExceptTratando Múltiplas ExceçõesRecapitulação - Erros no Carrinho de ComprasPratique por conta própria: Compilador de Python online