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 = nomepessoa = 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 NotImplementedErrorcachorro = 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 de SyntaxError que 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 / 0except ZeroDivisionError: # Lidar com a exceção print("Erro: divisão por zero!")