Como ignorar uma exceção e prosseguir em python


Melhor resposta

Primeiro, vamos deixar claro que ignorar exceções geralmente não é a coisa certa a se fazer.

A forma clássica de fazer isso é aceitar a exceção e passar:

>>> def remover(filename):

... import os

... try:

... os.remove(filename)

... except FileNotFoundError:

... pass

...

>>> remover("non-existent file")

>>>

Você também pode usar a contextlib.suppress () para ignorar exceções:

>>> def remover(filename):

... import os

... import contextlib

... with contextlib.suppress(FileNotFoundError):

... os.remove(filename)

...

>>> remover("non-existent file")

>>>

Supondo que você realmente não se importe se o arquivo é ou está tentando remover existe ou não, algo como o acima está bom. Mas tenho visto uma tendência alarmante de 1) ignorar exceções que importam ou 2) capturar mais exceções do que você realmente espera (efetivamente ocultando possíveis bugs).

Resposta

Passar

Não, não passe na pergunta.

Tente:

Algo que pode falhar

Exceto a exceção específica:

Aprovar

Mas, por favor, comente por que o passe faz sentido para a próxima pessoa a ler o seu código. Eu faço isso às vezes para arquivos e outras coisas que podem estar faltando. No entanto, não pegue todos os erros, apenas aquele que você espera que aconteça às vezes.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *