Apesar dos melhores esforços de um programador , qualquer programa pode encontrar o erro ocasional ao longo do tempo . Na maioria dos casos , é importante implementar métodos que exibem informações sobre a natureza desses erros para fins de depuração . Com o código apropriado , os erros em um determinado programa Python irá mostrar através do método de saída de erro padrão , ao provocar um bloco de captura excepção do código . Este método permitirá que o programador para ambas as mensagens de erro log e ditar como o programa lida com o erro específico. Coisas que você precisa
Linguagem Python Interpreter
Editor de Texto
Show Mais instruções
Captura e log de erros em Python
1
Aproveite esta pequena parte do python código como exemplo :
# /usr /local /bin /python
import sys
x = 4-4
y = y /x
impressão y
Este trecho de código , quando executado, irá causar um erro fatal (chamado de ZeroDivisionError em Python) porque inteiros não pode ser dividido por zero. Enquanto no Python interativo intérprete , esse erro será impresso para a tela eo programa irá falhar. No entanto , o programador pode desenvolver um programa GUI para executar fora do intérprete que irá registrar e lidar com esses erros no código.
2
Adicione um "try ... exceto " bloco ao redor do código de exemplo . Isso irá ditar como o programa lida com o erro durante a execução :
# /usr /local /bin /python
import sys
tentar:
x = 4-4
y = y /x
imprimir y
exceto ZeroDivisionError :
/* código para lidar com exceção vai aqui * /
o código agora vai "experimentar " as operações especificadas no " tentar ... exceto" bloco. A seção " exceto" será ativado somente se ocorrer o evento ' ZeroDivisionError ' . Se ocorrer qualquer outro erro , o " salvo " bloco não será executado. É possível, no entanto, a criação de várias etapas de tratamento de erros com vários " exceto" declarações.
3
Route a mensagem de erro através de um objeto de saída de fluxo . Neste caso, os erros devem passar pela saída de erro padrão (stderr ) fluxo
# /usr /local /bin /python
import sys
tentar: . !
x = 4-4
y = y /x
imprimir y
exceto ZeroDivisionError :
elog = open ( 'out . log ' ,' w ')
sys.stderr = elog
levantar Exception " Division by Zero "
A variável " elog " é atribuído um arquivo aberto. Em seguida , a saída de erro padrão ( sys.stderr ) está ligado ao ficheiro atribuído a elog . Qualquer saída enviada para sys.stderr vai escrever para o arquivo " out.log " . Finalmente , uma exceção é " levantado ", dizendo ao programa que ocorreu um erro e que é hora de parar. A seqüência de " Division by Zero " será impresso para out.log ( porque a exceção irá imprimir diretamente sys.stderr ) .