Suppress | Supressão de erros | Python
- Suppress | Supressão de erros | Python
🧩 1. Suprimir erros específicos com try/except
A forma mais controlada é capturar apenas as exceções que você espera:
try:
resultado = 10 / 0
except ZeroDivisionError:
pass # ignora o erro
Isso ignora o erro de divisão por zero e segue a execução do programa normalmente.
⚙️ 2. Usar contextlib.suppress
Uma forma mais elegante para ignorar exceções conhecidas:
from contextlib import suppress
with suppress(FileNotFoundError):
open("arquivo_que_nao_existe.txt")
Qualquer FileNotFoundError dentro do bloco será suprimido sem imprimir mensagens.
🔇 3. Silenciar warnings (avisos)
Se o objetivo é suprimir avisos, e não erros fatais:
import warnings
warnings.filterwarnings("ignore")
Isso oculta todos os warnings (como DeprecationWarning).
🧱 4. Redirecionar saída de erros
Para impedir que mensagens de erro apareçam no console (sem tratar o erro em si):
import sys
import os
sys.stderr = open(os.devnull, 'w')
Isso redireciona todos os erros padrão (stderr) para o “buraco negro” do sistema.