Pitão

Python Traceback Tutorial

Python Traceback Tutorial
Uma vez que uma exceção é criada durante a execução do código, Python exibe um traceback. Um traceback parece ser um relatório em Python que inclui as chamadas de função feitas em um determinado lugar do código, i.e., uma vez que você cometeu um erro, sugerimos que o deixemos para trás (traceback). O traceback pode fornecer detalhes sobre o que aconteceu com o código se o código receber um erro. Esses rastreamentos podem parecer um pouco cansativos, mas podem ser muito úteis até que você os remova e veja o que eles estão tentando lhe ensinar. Existem muitos dados no traceback do Python que o ajudarão a analisar e corrigir a causa do problema que está sendo gerado em seu código.

Interprete o Traceback:

Olhar alguns rastros pode dar uma melhor interpretação do conhecimento que eles fornecem para permitir que você tire algo dele. Vamos dar uma olhada na interpretação de como uma exceção básica pode ser rastreada. Aqui está um exemplo de um código simples que gera um erro de rastreamento na execução do Spyder (Python 3).

Abaixo está a imagem de rastreamento de erro. A primeira linha mostra a localização do arquivo. Aqui estão algumas especificações para todas as linhas usando cores.

Branco: Traceback (última chamada mais recente) é uma instrução traceback. Por outro lado, a parte branca da última linha mostra as informações de erro relacionadas.

Verde: Erro ao informar o nome e o local de um arquivo.

Azul: Mostra o número da linha de um arquivo onde ocorreu o erro.

Amarelo: Ele exibe a linha real onde uma exceção apareceu.

Vermelho: Tipo de Erro.

Aqui estão alguns erros importantes no rastreamento:

NameError
IndexError
KeyError
TypeError
valueError
ImportError / ModuleNotFound

Erro de nome:
Sempre que você quiser interpretar uma variável que não foi especificada no código, NameError aparece. Aqui está um exemplo fácil de rastreio NameError. Nós temos uma variável 'número' definido com algum valor, enquanto no impressão declaração, nós imprimimos 'entorpecido', que não está definido em nenhum lugar do código. Vamos executar este código e verificar o que acontece.

Você pode ver que o rastreamento de NameError ocorreu porque não definimos a variável 'numb', então como pode ser impresso. Por isso este programa mostra o NameError e elabora-o com informação extra na última linha com texto a branco e vermelho. O texto amarelo mostra o código exato onde o erro ocorre.

Erro de índice:

Um IndexError é produzido quando uma série que está fora de alcance é definida no código. Nós definimos um Lista nomeado 'novo' tendo 5 índices com alguns valores nele. Depois disso, temos que definir o comando de impressão para produzir o valor em índice número 9.

Quando executamos este código, ele irá gerar IndexError, definindo o índice fora do intervalo. Como definimos uma lista de 5 índices, portanto, o número do índice impresso, que é 9, não pode ser acessado porque não está em nosso intervalo.

Erro de chave:

Python gera um erro de chave quando você tenta alcançar o chave qual é não definido ou mapeado, especialmente de um dicionário. É mais como um IndexError. Então, vamos dar uma olhada em um exemplo simples de um dicionário chamado 'aleatória' com duas chaves definidas nele com alguns valores atribuídos a essas chaves. Na próxima linha, imprimimos a chave chamada 'UMA' na declaração impressa.

Oh! Temos traceback KeyError. Isso se deve à chave errada fornecida na instrução de impressão, que não está definida no dicionário. Pode-se cometer um erro ao fornecer uma chave de letra maiúscula enquanto o dicionário tem uma chave de letra minúscula definida nele.

Erro de tipo:

TypeError é definido como uma exceção que ocorre quando alguma operação ou método foi espalhado para um tipo impróprio de uma entidade ou variável. Temos um exemplo de uma variável simples assumindo dois valores enquanto esta string adiciona os dois valores. O primeiro valor é um tipo de string e o outro é um tipo inteiro. A declaração de impressão está imprimindo o resultado da adição.

Quando este código é executado, ele levanta a exceção. Esta exceção é sobre o tipo errado de objeto sendo concatenado. É elaborado que você não pode adicionar uma variável do tipo string com uma variável do tipo inteiro.

Erro de valor:

Erro de valor é definido como uma exceção que só ocorre quando algum método embutido leva o argumento do tipo certo mas o valor errado iniciar. Vamos dar uma olhada em um pequeno exemplo. Estamos adotando um método integrado de int () com algum valor de string em uma instrução de impressão.

Quando você executa este código de uma linha, ele irá gerar um ValueError porque estamos usando uma função de tipo inteiro enquanto fornecemos a ela um valor de string para ser executado. É por isso que vai mostrar que a função int () tem um valor inválido.

Por outro lado, se você fornecer algum valor fracionário, ele o converterá em um valor inteiro.

Este código produz 11 porque leva apenas a parte inteira, enquanto a parte decimal é completamente ignorada.

Erro de importação / módulo não encontrado:

Às vezes você tem que importar alguns pacotes ou módulos em seu código python para usar funcionalidades especiais por meio deles. Você encontrará um traceback ImportError quando houver algum erro sobre uma instrução Import no código. Este erro de rastreamento ocorre quando você está incapaz para achar o módulo específico ou algo dentro do pacote. Aqui nós importamos dois módulos, 'pip' e 'Java', em nosso código.

Ao executar este código, será fornecido ModuleNotFoundError traceback. Isso ocorre porque o módulo importado 'java' não é compatível com a biblioteca python. Por outro lado, não dá uma exceção na importação do módulo 'pip' porque é um módulo compatível com Python.

Conclusão:

O traceback do Python fornece um excelente conhecimento que o ajudará a descobrir o que está errado no código. Esteja você fazendo isso pela primeira vez ou simplesmente não entenda o que está fazendo, a geração de traceback pode ser um pouco assustadora. Para se tornar um programador Python mais forte, aprender quais detalhes um traceback Python fornece é importante.

Instale o último jogo de estratégia OpenRA no Ubuntu Linux
OpenRA é um motor de jogo de estratégia em tempo real Libre / Free que recria os primeiros jogos Westwood como o clássico Command & Conquer: Red Alert...
Instale o emulador Dolphin mais recente para Gamecube e Wii no Linux
O Dolphin Emulator permite que você jogue seus jogos de Gamecube e Wii escolhidos em computadores pessoais Linux (PC). Sendo um emulador de jogo disp...
Como usar o GameConqueror Cheat Engine no Linux
O artigo cobre um guia sobre como usar o mecanismo de cheat GameConqueror no Linux. Muitos usuários que jogam no Windows costumam usar o aplicativo “C...