try Sem excecpt em Python
As exceções em Python são os erros detectados durante a execução do código. Diferentes tipos de exceções são NameError
, TypeError
, ZeroDivisionError
, OSError
e mais.
A instrução try
em Python é usada para testar um bloco de código para exceções, e a instrução except
é usada para tratar essas exceções. Quando o código no bloco try
gera um erro, o código no bloco except
é executado.
Podemos capturar todas as exceções, incluindo KeyboardInterrupt
, SystemExit
e GeneratorExit
. Este método não deve ser usado para lidar com exceções, pois é uma instrução geral e irá ocultar todos os bugs triviais.
Discutiremos como usar o bloco try
sem except
em Python. Para conseguir isso, devemos tentar ignorar a exceção.
Não podemos ter o bloco try
sem except
, portanto, a única coisa que podemos fazer é tentar ignorar a exceção levantada para que o código não vá para o bloco except
e especificar a instrução pass
no campo except
Bloquear conforme mostrado anteriormente. A instrução pass
é equivalente a uma linha vazia de código.
Também podemos usar o bloco finally
. Ele executará o código independentemente de ocorrer uma exceção ou não.
try:
a = 1 / 0
except:
pass
finally:
print("Example")
Produção:
Example
No código acima, se o bloco try
gerar um erro, o bloco except
imprimirá a exceção levantada.
Para ignorar exceções, podemos usar a função suppress()
do módulo contextlib
para lidar com exceções em Python
A função suppress()
do módulo contextlib
pode ser usada para suprimir erros muito específicos. Este método só pode ser usado no Python 3.
Por exemplo,
from contextlib import suppress
with suppress(IndexError):
a = [1, 2, 3]
a[3]
No exemplo acima, ele não levantará o IndexError
.