Pegue todas as exceções em Python

Manav Narula 10 outubro 2023
  1. Use a classe Exception para capturar todas as exceções em Python
  2. Use a classe BaseException para capturar todas as exceções em Python
Pegue todas as exceções em Python

Usamos os blocos try e except para lidar com exceções. O bloco try contém algum código que pode gerar uma exceção. Se uma exceção for levantada, podemos especificar o código alternativo no bloco except que pode ser executado. Sabemos que temos diferentes tipos de exceções em Python para ter várias instruções except para diferentes exceções.

Por exemplo,

try:
    raise ValueError()
except ValueError:
    print("Value Error")
except KeyError:
    print("Key Error")

Resultado:

Value Error

No entanto, às vezes, podemos querer um bloco except geral que pode capturar todas as exceções. É muito simples implementar isso. Se não mencionarmos nenhuma exceção específica no bloco except, ele captura qualquer exceção que possa ocorrer.

O código a seguir implementa isso.

try:
    # Your
    # Code
    pass
except:
    print("Exception Encountered")

No entanto, não é aconselhável usar este método porque também captura exceções como KeyBoardInterrupt e SystemExit, que geralmente se deseja ignorar.

Use a classe Exception para capturar todas as exceções em Python

Podemos evitar os erros mencionados acima simplesmente capturando a classe Exception. Todas as exceções integradas que não saem do sistema, bem como as exceções definidas pelo usuário, são geralmente derivadas desta classe.

Por exemplo,

try:
    # Your
    # Code
    pass
except Exception as e:
    print("Exception Encountered")

Use a classe BaseException para capturar todas as exceções em Python

Deve-se notar que mesmo o método acima pode omitir algumas exceções. Também podemos usar a classe BaseException, que está no topo da hierarquia. Pode ser necessário em alguns casos, e podemos ver seu uso no código a seguir.

try:
    # Your
    # Code
    pass
except BaseException as e:
    print("Exception Encountered")

Neste tutorial, discutimos alguns métodos, que podem não ser perfeitos, mas podem capturar a maioria das exceções levantadas. Em geral, não é aconselhável capturar todas as exceções, portanto, seja cauteloso em qualquer método que você escolher usar.

Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Artigo relacionado - Python Exception