Como pegar todas as exceções em Python

Como pegar todas as exceções em Python
Os programadores freqüentemente classificam exceções como falhas de código que resultam em erros sempre que o programa for executado. Exceções representam erros que ocorrem como resultado de um script. Alguns programadores ainda não podem dizer a diferença entre erros e exceções. A maioria desses erros parece lógica. Em Python, as exceções são capturadas usando lógica direta. Sempre que um intérprete Python encontra uma exceção, ele encerra o fluxo de trabalho. É tratado passando pelo procedimento de chamada. O software falhará se isso não for feito. Para distinguir entre erros e exceções, houve duas categorias de erros a considerar:
  • Erros de sintaxe
  • Erros lógicos (exceções)

Erro de sintaxe

Para ver o funcionamento dos erros lógicos, temos que passar pelo exemplo de erro de sintaxe primeiro. Abra o terminal do shell usando "Ctrl+Alt+T" do teclado. Depois de abrir o shell, criaremos um novo arquivo python. Para criar um arquivo, escreva a consulta abaixo do ponto mostrado na imagem como é.

Teste de Touch.py

Vamos abrir o arquivo "Teste.py ”do seu diretório doméstico local tocando duas. Após a abertura do arquivo, escreva o código abaixo como é. Você tem que entender este código primeiro. Nós adicionamos o suporte Python a ele. Depois disso, inicializamos uma variável de dicionário "idades" para adicionar duas teclas com dois valores. Não adicionamos uma vírgula entre as duas chaves. Este será o nosso erro de sintaxe no tempo de execução. Depois disso, imprimimos a chave "aqsa" e seu valor do dicionário. Salve seu arquivo com Ctrl+s e clique no botão Cruz para deixá -lo.

Vamos executar nosso arquivo pela versão Python3 como abaixo. A imagem de saída mostra o erro de sintaxe dizendo: sintaxe inválida porque a vírgula está ausente da declaração. Você pode ver que não há erro lógico.

Teste $ python3.py

Vamos atualizar rapidamente o código adicionando uma vírgula na declaração para evitar erros de sintaxe. Salve este código e feche -o através do sinal cruzado do lado direito da janela.

Vamos executar nosso arquivo novamente para ver o resultado da versão Python3. A saída do instantâneo abaixo está mostrando a saída correta sem sintaxe ou erros lógicos.

Teste $ python3.py

Erros lógicos

Erros lógicos são aquelas exceções que ocorrem em um tempo de execução devido a algum erro lógico em nosso código. No início deste guia, mencionamos capturar todas as exceções ao mesmo tempo. Mas, para entender esse conceito, precisamos primeiro para ver uma exceção de cada vez. Portanto, abra o terminal do shell e converta -o em formato de código python3 para usar o python usando a consulta abaixo, como mostrado na imagem.

$ python3

Agora o terminal está pronto para usar para codificar. Adicione alguma afirmação que mostra algum erro lógico nele. Digamos que adicionamos "2/0", o que não é possível em matemática. Então isso deve causar algum erro lógico. Digite -o no shell e pressione Enter. A saída mostra o "ZerodivisisionError" porque qualquer coisa dividida por zero não pode retornar uma resposta.

>>> 2/0

Vamos dar outro exemplo de pegar uma única exceção no terminal. Abra um arquivo que nem é criado ou encontrado no diretório local atual do Linux como abaixo. Ele lançará uma exceção "FileNotFoundError" no tempo de execução, porque não existe esse arquivo em nosso sistema.

>>> aberto (“dois.TXT")

Exemplo: Exceções de Catch-All

Finalmente! É hora de obter todas as exceções em um só lugar. Portanto, abra o teste de arquivo python.PY do seu diretório inicial atual do sistema Linux. Agora escreva o código exibido abaixo. Este código contém uma lista "L" com diferentes tipos de elementos. Usamos um loop "for" para obter cada valor da lista e aplicar uma declaração de tentativa. A declaração de tentativa primeiro imprimirá esse elemento da lista. A próxima linha converterá esse elemento para o tipo inteiro primeiro e depois dividirá 1 com esse elemento convertido. Depois disso, usamos a declaração exceto que imprimirá o nome da exceção que ocorreu devido à declaração "Try" usando um sistema.Método esc_info (). Outra string será impressa e, após a declaração "exceto" o corpo, inicializamos uma declaração de impressão para imprimir o resultado da divisão que foi feita para experimentar a declaração. Pressione Ctrl+S para salvar seu arquivo e pressionar no botão Cruz para fechá -lo rapidamente. Agora abra o terminal para ver o funcionamento de nosso código.

Execute a consulta abaixo para executar este arquivo. A saída mostra o resultado da declaração de impressão “O resultado é“ usado na instrução “Try” para cada elemento da lista. Como os dois primeiros elementos da lista são variáveis ​​de string e multitype, a divisão não pode ocorrer. Isso leva a diferentes erros. A declaração do primeiro valor "exceto" foi executada e mostra os nomes dos erros usando o sistema.Método exc_info (). Devido à exceção, a terceira declaração de impressão da cláusula "exceto" será executada para os dois primeiros elementos da lista. Mas você pode ver na saída que o resultado do terceiro valor não lançará nenhuma exceção. Isso ocorre porque o terceiro elemento da lista é um número inteiro e pode ser dividido por 1 perfeitamente. A declaração exceto não foi executada neste caso; Assim, o controle foi dado à declaração de impressão mais externa e produz o valor resultante gerado pela divisão.

Conclusão

Cobrimos erros de sintaxe e lógica neste artigo. Mais importante ainda, discutimos o método para capturar todas as exceções em nosso artigo através do “SYS.Exc_info () ”Uso do método.