🎯 Tipos de Erros em Python
Em poucas palavras
Definição técnica ou simplificada do conceito.
📝 Notas e Desenvolvimento
🔗 Conexões e Contexto
- Atlas: MdC - Programação
- Notas Relacionadas:
📚 Referências e Fontes
Links Externos
Citações Diretas
📂 Outros Conteúdos Preservados
Tipos de erros em Python
Em Python, erros (ou exceções) são eventos que ocorrem durante a execução de um programa e interrompem o fluxo normal das instruções. É importante entender os diferentes tipos de erros para poder depurar e corrigir seu código de forma eficaz.
Aqui estão alguns dos tipos de erros mais comuns em Python:
AttributeError: Ocorre quando você tenta acessar um atributo ou método que não existe em um objeto.
class Pessoa:
def __init__(self, nome):
self.nome = nome
pessoa = Pessoa("Alice")
### print(pessoa.idade) # Isso causaria um AttributeError
ImportError: Ocorre quando há um problema ao importar um módulo. Isso pode acontecer se o módulo não estiver instalado, se o nome estiver incorreto ou se o Python não conseguir encontrá-lo no caminho de importação.
### import modulo_inexistente # Isso causaria um ImportError
IndexError: Ocorre quando você tenta acessar um índice inválido em uma sequência (como uma lista, tupla ou string).
lista = [1, 2, 3]
### print(lista[3]) # Isso causaria um IndexError
KeyError: Ocorre quando você tenta acessar uma chave que não existe em um dicionário.
dicionario = {"nome": "Alice", "idade": 30}
### print(dicionario["endereco"]) # Isso causaria um KeyError
NameError: Ocorre quando você tenta usar uma variável que não foi definida.
### print(variavel_nao_definida) # Isso causaria um NameError
NotImplementedError: É usado como um marcador para indicar que um método ou função ainda não foi implementado. É comum em classes abstratas ou interfaces.
class Animal:
def fazer_som(self):
raise NotImplementedError("Subclasses devem implementar este método")
class Cachorro(Animal):
def fazer_som(self):
return "Au au!"
### animal = Animal()
### animal.fazer_som() # Isso causaria um NotImplementedError
cachorro = Cachorro()
print(cachorro.fazer_som())StopIteration: É usado por iteradores para sinalizar que não há mais elementos a serem retornados.
meu_iterador = iter([1, 2, 3])
### next(meu_iterador)
### next(meu_iterador)
### next(meu_iterador)
### next(meu_iterador) # Isso causaria um StopIteration
SyntaxError: Ocorre quando há um erro na sintaxe do código Python. Isso geralmente indica um erro de digitação, um parêntese ou aspas não fechadas, ou o uso incorreto de palavras-chave.
### print("Olá, mundo" # Isso causaria um SyntaxError (falta um parêntese)
-
IndentationError: Um tipo específico deSyntaxErrorque ocorre devido a problemas de indentação. Python usa indentação para definir blocos de código, então a indentação incorreta pode levar a erros.# def minha_funcao(): # print("Olá") # Isso causaria um IndentationError (indentação incorreta) ```
TypeError: Ocorre quando uma operação ou função é aplicada a um objeto de tipo inadequado.
### print("Olá" + 5) # Isso causaria um TypeError (não é possível concatenar string com inteiro)
ValueError: Ocorre quando uma função recebe um argumento com o tipo correto, mas com um valor inválido.
### int("abc") # Isso causaria um ValueError (não é possível converter "abc" para inteiro)
Como lidar com erros:
É importante tratar os erros em seu código para evitar que o programa seja interrompido abruptamente. Você pode usar blocos try…except para capturar e lidar com exceções:
try:
# Código que pode gerar uma exceção
resultado = 10 / 0
except ZeroDivisionError:
# Lidar com a exceção
print("Erro: divisão por zero!")Referências: