Ignorar uma exceção em Python

Vaibhhav Khetarpal 10 outubro 2023
  1. Use a instrução pass no bloco except em Python
  2. Use a instrução sys.exc_clear() no bloco except em Python
Ignorar uma exceção 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 Khetarpal avatar Vaibhhav Khetarpal avatar

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

Artigo relacionado - Python Exception