Folha de referências de tipos de erros e exceções integradas do Python

Guia de referência para tipos de erros comuns do Python. Aprenda como depurar ValueError, TypeError, IndexError, KeyError e gerar exceções.

Exceções comuns de lógica e valor

Exceções que representam operações incompatíveis, índices ausentes ou falhas de variáveis.

Método/FunçãoSintaxeDescrição
ValueErrorint("abc")Gerado quando uma função recebe um argumento de tipo correto, mas de valor inadequado.
TypeError"1" + 2Gerado quando uma operação ou função é aplicada a um objeto de tipo inadequado.
IndexErrormy_list[10]Gerado quando um subscrito de sequência está fora do intervalo.
KeyErrormy_dict["missing"]Gerado quando uma chave de dicionário não é encontrada.
AttributeErrormy_str.append("x")Gerado quando uma referência ou atribuição de atributo falha (por exemplo, chamando métodos de lista em string).

Exceções de tempo de execução e recursos

Problemas que representam sistemas de arquivos externos, falhas de cálculo ou erros de sintaxe de execução.

Método/FunçãoSintaxeDescrição
FileNotFoundErroropen("missing.txt")Gerado quando um arquivo ou diretório é solicitado, mas não existe.
ZeroDivisionError1 / 0Gerado quando o segundo argumento de uma operação de divisão ou módulo é zero.
SyntaxErrorwhile True print("hi")Gerado quando o analisador encontra um erro de sintaxe.
NameErrorprint(undefined_variable)Gerado quando um nome local ou global não é encontrado.
StopIterationnext(exhausted_iterator)Gerado pelo next() integrado para sinalizar que o iterador não possui mais itens.

Script de demonstração interativo

run_all_cheat_methods.py
Executar no Editor
# ValueError
int("abc")

# TypeError
"1" + 2

# IndexError
my_list[10]

# KeyError
my_dict["missing"]

# AttributeError
my_str.append("x")

# FileNotFoundError
open("missing.txt")

# ZeroDivisionError
1 / 0

# SyntaxError
while True print("hi")

# NameError
print(undefined_variable)

# StopIteration
next(exhausted_iterator)

Perguntas frequentes

Como faço para capturar múltiplas exceções em Python?

Você pode especificá-los como uma tupla em um único bloco except, por exemplo, except (ValueError, TypeError) as e:.

Quando devo levantar exceções manualmente?

Gere exceções usando a palavra-chave raise quando ocorrer uma condição inesperada em seu código que impeça a execução normal, como falhas de validação.

Tópicos Relacionados

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.