Por que dizem que utilizar @ arroba pra suprimir erros é uma má prática?

Dizer que utilizar o símbolo “@” (arroba) para suprimir erros é uma má prática não é algo infundado. O uso excessivo do “@” pode ocultar erros reais e dificultar a depuração de problemas em um código.

Vamos supor que temos o seguinte código em Python:

try:
    # algum código que pode lançar uma exceção
except Exception as e:
    print(f"Erro: {e}")
    pass

Se adicionarmos um “@” antes do “pass”, ficaria assim:

try:
    # algum código que pode lançar uma exceção
except Exception as e:
    print(f"Erro: {e}")
    @pass

Nesse caso, o “@pass” não tem nenhum efeito no código, apenas suprime o erro. Isso pode fazer com que erros reais passem despercebidos, tornando a depuração mais difícil.

Além disso, o uso do “@” pode criar um código confuso e de difícil manutenção. Imagine um cenário em que outro desenvolvedor precise dar manutenção nesse código e se depara com um “@” que não faz nada aparente. Isso pode levar a confusões e problemas na interpretação do código.

Em geral, é recomendado lidar corretamente com os erros em tempo de execução e corrigi-los efetivamente, em vez de usar o “@” apenas para supri-los. Isso pode ser feito com o uso de blocos “try-except” adequados, tratando as exceções de forma apropriada.

Em resumo, o uso excessivo do “@” para suprimir erros é considerado uma má prática porque oculta erros reais, dificulta a depuração e pode tornar o código confuso e de difícil manutenção. É melhor tratar os erros corretamente em vez de simplesmente ignorá-los.