Pegue todas as exceções em Python
-
Use a classe
Exception
para capturar todas as exceções em Python -
Use a classe
BaseException
para capturar 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 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