Ignorar uma exceção em Python
-
Use a instrução
pass
no blocoexcept
em Python -
Use a instrução
sys.exc_clear()
no blocoexcept
em Python
Uma exceção é um evento que, quando gerado, altera o fluxo do programa.
As exceções resultam do programa estar sintaticamente correto, mas ainda dando um erro na execução do código. Este erro não interrompe a execução do programa, mas altera o fluxo padrão do programa.
Em Python, lidamos com exceções usando o bloco try...except
. Este tutorial irá discutir vários métodos para ignorar uma exceção e continuar com o código em Python.
Use a instrução pass
no bloco except
em Python
A instrução pass
pode ser considerada como um espaço reservado na programação Python. Ele retorna uma instrução NULL
e, portanto, não produz nenhum valor. No entanto, o interpretador Python não ignora a instrução pass e evitamos obter erros para o código vazio onde a instrução é usada.
Quando a instrução pass
é usada nas instruções try...except
, ela simplesmente transmite quaisquer erros e não altera o fluxo do programa Python.
O código a seguir usa a instrução pass
no bloco except
para ignorar uma exceção e prosseguir com o código em Python.
try:
print(hey)
except Exception:
pass
print("ignored the exception")
O código acima fornece a seguinte saída.
ignored the exception
Embora essa função sempre funcione no Python 3 e superior, usar a instrução pass
é considerado uma má prática de programação. Não fornece uma solução para os erros que podem surgir durante o programa. Além disso, identificar os erros em um determinado programa é muito mais difícil, pois ignora todos os erros.
Use a instrução sys.exc_clear()
no bloco except
em Python
No Python 2, a última exceção lançada é lembrada pelo interpretador, enquanto isso não acontece nas versões mais recentes do Python. Portanto, a instrução sys.exc_clear()
não é necessária nas versões lançadas após o Python 3. A instrução sys.exc_clear()
pode ser utilizada para limpar a última exceção lançada do interpretador Python.
O código a seguir usa a instrução sys.exc_clear()
no bloco except
para ignorar uma exceção e continuar com o código em Python.
try:
print(hey)
except Exception:
sys.exc_clear()
print("ignored the exception")
Embora essas duas formas consigam fazer o programa funcionar sem erros, não é recomendável ignorar todos os erros de um programa. No entanto, ignorar apenas um erro específico ou alguns erros é uma prática que a maioria dos programadores faz para um programa saudável.
Limitar o uso da instrução pass
e sys.exc_clear()
em um programa também melhora a legibilidade e a identificação de erros de um programa.
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn