Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> python

Erros do Python e exceções incorporadas

Erros do Python e exceções incorporadas


Neste tutorial, você aprenderá sobre os diferentes tipos de erros e exceções integrados ao Python. Eles são gerados sempre que o interpretador Python encontra erros.

Vídeo:manipulação de exceção do Python

Podemos cometer alguns erros ao escrever um programa que levam a erros quando tentamos executá-lo. Um programa python termina assim que encontra um erro não tratado. Esses erros podem ser classificados em duas classes:

  1. Erros de sintaxe
  2. Erros lógicos (exceções)

Erros de sintaxe do Python


O erro causado por não seguir a estrutura adequada (sintaxe) da linguagem é chamado de erro de sintaxe ou erro de análise .

Vejamos um exemplo:
>>> if a < 3
  File "<interactive input>", line 1
    if a < 3
           ^
SyntaxError: invalid syntax

Conforme mostrado no exemplo, uma seta indica onde o analisador encontrou o erro de sintaxe.

Podemos notar aqui que dois pontos : está faltando no if declaração.

Erros lógicos do Python (exceções)


Erros que ocorrem em tempo de execução (após passar no teste de sintaxe) são chamados de exceções ou erros lógicos .

Por exemplo, eles ocorrem quando tentamos abrir um arquivo (para leitura) que não existe (FileNotFoundError ), tente dividir um número por zero (ZeroDivisionError ), ou tente importar um módulo que não existe (ImportError ).

Sempre que esses tipos de erros de tempo de execução ocorrem, o Python cria um objeto de exceção. Se não for tratado corretamente, ele imprime um rastreamento desse erro junto com alguns detalhes sobre o motivo do erro.

Vejamos como o Python trata esses erros:
>>> 1 / 0
Traceback (most recent call last):
 File "<string>", line 301, in runcode
 File "<interactive input>", line 1, in <module>
ZeroDivisionError: division by zero

>>> open("imaginary.txt")
Traceback (most recent call last):
 File "<string>", line 301, in runcode
 File "<interactive input>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: 'imaginary.txt'

Exceções incorporadas do Python




Operações ilegais podem gerar exceções. Existem muitas exceções internas no Python que são geradas quando ocorrem erros correspondentes. Podemos visualizar todas as exceções internas usando o local() interno funcionar da seguinte forma:
print(dir(locals()['__builtins__']))

locals()['__builtins__'] retornará um módulo de exceções, funções e atributos internos. dir nos permite listar esses atributos como strings.

Algumas das exceções internas comuns na programação Python, juntamente com o erro que as causam, estão listadas abaixo:
Exceção Causa do erro
AssertionError Gerado quando um assert falha na instrução.
AttributeError Gerado quando a atribuição ou referência de atributo falha.
EOFError Gerado quando o input() função atinge a condição de fim de arquivo.
FloatingPointError Gerado quando uma operação de ponto flutuante falha.
GeneratorExit Aumentar quando o close() de um gerador método é chamado.
ImportError Gerado quando o módulo importado não é encontrado.
IndexError Gerado quando o índice de uma sequência está fora do intervalo.
KeyError Gerado quando uma chave não é encontrada em um dicionário.
KeyboardInterrupt Gerado quando o usuário pressiona a tecla de interrupção (Ctrl+C ou Delete ).
MemoryError Gerado quando uma operação fica sem memória.
NameError Gerado quando uma variável não é encontrada no escopo local ou global.
NotImplementedError Gerado por métodos abstratos.
OSError Gerado quando a operação do sistema causa um erro relacionado ao sistema.
OverflowError Gerado quando o resultado de uma operação aritmética é muito grande para ser representado.
ReferenceError Gerado quando um proxy de referência fraco é usado para acessar um referente coletado de lixo.
RuntimeError Gerado quando um erro não se enquadra em nenhuma outra categoria.
StopIteration Aumentado por next() função para indicar que não há mais nenhum item a ser retornado pelo iterador.
SyntaxError Gerado pelo analisador quando um erro de sintaxe é encontrado.
IndentationError Gerado quando há recuo incorreto.
TabError Gerado quando o recuo consiste em tabulações e espaços inconsistentes.
SystemError Gerado quando o intérprete detecta um erro interno.
SystemExit Aumentado por sys.exit() função.
TypeError Gerado quando uma função ou operação é aplicada a um objeto de tipo incorreto.
UnboundLocalError Gerado quando uma referência é feita a uma variável local em uma função ou método, mas nenhum valor foi vinculado a essa variável.
UnicodeError Gerado quando ocorre um erro de codificação ou decodificação relacionado ao Unicode.
UnicodeEncodeError Gerado quando ocorre um erro relacionado ao Unicode durante a codificação.
UnicodeDecodeError Gerado quando ocorre um erro relacionado ao Unicode durante a decodificação.
UnicodeTranslateError Gerado quando ocorre um erro relacionado ao Unicode durante a tradução.
ValueError Gerado quando uma função obtém um argumento de tipo correto, mas valor impróprio.
ZeroDivisionError Gerado quando o segundo operando da divisão ou operação do módulo é zero.

Se necessário, também podemos definir nossas próprias exceções em Python. Para saber mais sobre eles, visite Exceções definidas pelo usuário do Python.

Podemos lidar com essas exceções internas e definidas pelo usuário em Python usando try , except e finally declarações. Para saber mais sobre eles, visite Python try, except e finally.

python

  1. Palavras-chave e identificadores do Python
  2. Declaração Python, Recuo e Comentários
  3. Variáveis, constantes e literais do Python
  4. Conversão de tipo Python e conversão de tipo
  5. Entrada, Saída e Importação do Python
  6. Variáveis ​​globais, locais e não locais do Python
  7. Números Python, Conversão de Tipos e Matemática
  8. Gerenciamento de diretórios e arquivos Python
  9. Exceções personalizadas do Python
  10. Como obter data e hora atuais em Python?