Skip to main content

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.