Veja as principais exceptions integradas do Python
Exceções (exceptions) no Python são eventos ou condições anômalas que ocorrem durante a execução de um programa, interrompendo o fluxo normal de execução. Elas permitem que o programa trate erros e situações inesperadas de forma controlada, sem encerrar abruptamente. Em Python, exceções são representadas por objetos que derivam da classe base BaseException.
BaseException: A classe base para todas as exceções em Python.Exception: Subclasse deBaseException, a classe base para todas as exceções não sistemáticas.
EXCEÇÕES (EXCEPTIONS) COMUNS
| EXCEÇÕES | DESCRIÇÃO |
|---|---|
| ArithmeticError | Gerado quando ocorre um erro em cálculos numéricos |
| AssertionError | Gerado quando uma instrução assert falha |
| AttributeError | Gerado quando a referência ou atribuição de atributo falha |
| Exception | Classe base para todas as exceções |
| EOFError | Gerado quando o método input() atinge uma condição de "fim de arquivo" (EOF) |
| FloatingPointError | Gerado quando um cálculo de ponto flutuante falha |
| GeneratorExit | Gerado quando um gerador é fechado (com o método close()) |
| ImportError | Gerado quando um módulo importado não existe |
| IndentationError | Gerado quando o recuo não está correto |
| IndexError | Gerado quando um índice de uma sequência não existe |
| KeyError | Gerado quando uma chave não existe em um dicionário |
| KeyboardInterrupt | Gerado quando o usuário pressiona Ctrl+c, Ctrl+z ou Delete |
| LookupError | Gerado quando os erros levantados não podem ser encontrados |
| MemoryError | Gerado quando um programa fica sem memória |
| NameError | Gerado quando uma variável não existe |
| NotImplementedError | Gerado quando um método abstrato requer uma classe herdada para substituir o método |
| OSError | Gerado quando uma operação relacionada ao sistema causa um erro |
| OverflowError | Gerado quando o resultado de um cálculo numérico é muito grande |
| ReferenceError | Levantado quando um objeto de referência fraco não existe |
| RuntimeError | Gerado quando ocorre um erro que não pertence a nenhuma exceção específica |
| StopIteration | Levantado quando o método next() de um iterador não possui mais valores |
| SyntaxError | Gerado quando ocorre um erro de sintaxes |
| SystemExit | Gerado quando a função sys.exit() é chamada |
| TypeError | Gerado quando dois tipos diferentes são combinados |
| UnboundLocalError | Gerado quando uma variável local é referenciada antes da atribuição |
| UnicodeError | Gerado quando ocorre um problema unicode |
| UnicodeEncodeError | Gerado quando ocorre um problema de codificação Unicode |
| UnicodeDecodeError | Gerado quando ocorre um problema de codificação Unicode |
| UnicodeTranslateError | Gerado quando ocorre um problema de tradução Unicode |
| ValueError | Gerado quando há um valor errado em um tipo de dados especificado |
| ZeroDivisionError | Gerado quando o segundo operador em uma divisão é zero |
BaseException
É a classe base para todas as exceções em Python. É mais geral que Exception e inclui SystemExit, KeyboardInterrupt, e GeneratorExit. Ela não é usada diretamente em código de aplicação, mas serve como a classe pai para todas as outras exceções na hierarquia de exceções. Isso inclui exceções internas (como TypeError, ValueError, etc.) e também exceções definidas pelo usuário.
Hierarquia da BaseException
BaseException
+-- SystemExit
+-- KeyboardInterrupt
+-- GeneratorExit
+-- Exception
+-- ArithmeticError
| +-- FloatingPointError
| +-- OverflowError
| +-- ZeroDivisionError
+-- AssertionError
+-- AttributeError
+-- BufferError
+-- EOFError
+-- ImportError
| +-- ModuleNotFoundError
+-- LookupError
| +-- IndexError
| +-- KeyError
+-- MemoryError
+-- NameError
| +-- UnboundLocalError
+-- OSError
| +-- BlockingIOError
| +-- ChildProcessError
| +-- ConnectionError
| | +-- BrokenPipeError
| | +-- ConnectionAbortedError
| | +-- ConnectionRefusedError
| | +-- ConnectionResetError
| +-- FileExistsError
| +-- FileNotFoundError
| +-- InterruptedError
| +-- IsADirectoryError
| +-- NotADirectoryError
| +-- PermissionError
| +-- ProcessLookupError
| +-- TimeoutError
+-- ReferenceError
+-- RuntimeError
| +-- NotImplementedError
| +-- RecursionError
+-- StopIteration
+-- StopAsyncIteration
+-- SyntaxError
| +-- IndentationError
| +-- TabError
+-- SystemError
+-- TypeError
+-- ValueError
| +-- UnicodeError
| +-- UnicodeDecodeError
| +-- UnicodeEncodeError
| +-- UnicodeTranslateError
+-- Warning
+-- DeprecationWarning
+-- PendingDeprecationWarning
+-- RuntimeWarning
+-- SyntaxWarning
+-- UserWarning
+-- FutureWarning
+-- ImportWarning
+-- UnicodeWarning
+-- BytesWarning
+-- ResourceWarning
Exception
A exceção Exception é uma classe base para todas as exceções não sistêmicas em Python. É a principal classe que você utilizará para capturar e manipular erros em seu código. Ela herda de BaseException e serve como uma classe pai para a maioria das exceções embutidas e personalizadas.
Características Principais da Exception
Classe Base para Erros Comuns: Todas as exceções embutidas em Python que representam erros comuns (como
ValueError,TypeError,RuntimeError, etc.) derivam da classeException. Isso significa que você pode capturar um amplo espectro de erros utilizandoException.Uso em Blocos try-except: A classe
Exceptioné comumente usada em blocostry-exceptpara capturar e tratar exceções. Isso permite que você lide com erros de maneira controlada e execute ações específicas em resposta a diferentes tipos de exceções.Criação de Exceções Personalizadas: Ao criar exceções personalizadas em seu código, você geralmente herdará de
Exception. Isso permite que suas exceções personalizadas sejam tratadas da mesma forma que as exceções embutidas.
Estrutura da Exception
A classe Exception possui alguns atributos e métodos importantes que podem ser usados para obter informações sobre a exceção:
- Atributo
args: Um tupla que contém os argumentos passados para a exceção. - Método
__str__: Retorna uma string que representa a exceção. - Método
__repr__: Retorna uma representação mais detalhada da exceção.
Hierarquia da Exception
Exception
+-- ArithmeticError
| +-- FloatingPointError
| +-- OverflowError
| +-- ZeroDivisionError
+-- AssertionError
+-- AttributeError
+-- BufferError
+-- EOFError
+-- ImportError
| +-- ModuleNotFoundError
+-- LookupError
| +-- IndexError
| +-- KeyError
+-- MemoryError
+-- NameError
| +-- UnboundLocalError
+-- OSError
| +-- BlockingIOError
| +-- ChildProcessError
| +-- ConnectionError
| | +-- BrokenPipeError
| | +-- ConnectionAbortedError
| | +-- ConnectionRefusedError
| | +-- ConnectionResetError
| +-- FileExistsError
| +-- FileNotFoundError
| +-- InterruptedError
| +-- IsADirectoryError
| +-- NotADirectoryError
| +-- PermissionError
| +-- ProcessLookupError
| +-- TimeoutError
+-- ReferenceError
+-- RuntimeError
| +-- NotImplementedError
| +-- RecursionError
+-- StopIteration
+-- StopAsyncIteration
+-- SyntaxError
| +-- IndentationError
| +-- TabError
+-- SystemError
+-- TypeError
+-- ValueError
| +-- UnicodeError
| +-- UnicodeDecodeError
| +-- UnicodeEncodeError
| +-- UnicodeTranslateError
+-- Warning
+-- DeprecationWarning
+-- PendingDeprecationWarning
+-- RuntimeWarning
+-- SyntaxWarning
+-- UserWarning
+-- FutureWarning
+-- ImportWarning
+-- UnicodeWarning
+-- BytesWarning
+-- ResourceWarning
Acesse a documentação completa do python:





