Resolvido: erro de chave% 3A% 27acc% 27

Última atualização: 09/25/2023

No mundo da programação de computadores, encontrar erros é um fenômeno comum. Tomemos, por exemplo, o KeyError: 'acc' in Python. Este erro geralmente surge quando uma chave específica que estamos tentando acessar em um dicionário não existe. Felizmente, Python fornece uma solução eloquente para lidar com esses problemas e evitar que seu código trave. Isso inclui a aplicação de procedimentos de tratamento de exceções, o emprego da função get() ou a verificação de chaves antes de acessá-las. Com a abordagem correta, esse erro pode ser gerenciado com habilidade.

Compreendendo KeyError

KeyError em Python é um tipo de exceção que surge quando você tenta acessar um dicionário com uma chave que não existe. É sempre uma boa prática de codificação e de acordo com a documentação oficial do Python, verificar se uma chave está presente antes de tentar acessar seu valor.

#Random example of KeyError
dict1 = {"a":1,"b":2,"c":3}
print(dict1["d"])

No código acima, 'd' não existe no dicionário dict1, portanto resulta em KeyError: 'd'.

Solução para KeyError: 'acc'

A solução para lidar KeyError efetivamente se enquadra em como você aborda o acesso a itens de um dicionário. Uma maneira de evitar esse erro é usar o get() método ao fazer referência a uma chave.

Veja como você faria isso:

#prints None instead of giving KeyError
print(dict1.get("d"))

O código retorna None, pois “d” não está no dicionário. Usando get() método, também podemos fornecer um valor padrão que é retornado quando a chave não existe.

#prints 'default' instead of None
print(dict1.get("d", 'default'))

Manipulação de exceção é outra técnica para lidar com KeyError. Isso pode ser feito com a ajuda de blocos try-except conforme mostrado abaixo.

try:
    # code that can raise an exception
    print(dict1["d"])
except KeyError:
    # Execute this code in case of KeyError
    print('Key does not exist')

Este código não encerra o programa inteiro e trata a exceção normalmente imprimindo “A chave não existe”, o que é muito mais fácil de usar.

Explicando o código passo a passo

Dada a complexidade de lidar com KeyErrors, é importante decompor o código acima, pouco a pouco.

No primeiro exemplo, definimos um dicionário chamado 'dict1' com pares de valores-chave de {'a': 1, 'b': 2, 'c': 3}. Tentamos então acessar uma chave 'd' que não existe em 'dict1'. Isso faz com que o Python gere um KeyError com 'd' como mensagem.

No segundo exemplo, usamos o método get(). Este método de dicionário Python recupera o valor de uma determinada chave. Se a chave não estiver presente, por padrão, ela retornará 'Nenhum'. Isso evita que o Python gere um KeyError.

No terceiro exemplo, definimos um valor padrão de 'default' para obter uma mensagem útil em vez de 'None'. Esta é uma forma mais informativa de sinalizar que a chave não estava presente.

Por último, usamos um bloco try-except para tratamento de exceções. Escrevemos nosso código em 'try' e definimos o que deve ser feito caso ocorra um 'KeyError' em 'except'. Isso fornece uma rede de segurança na qual o código pode cair, em vez de quebrar ou travar.

Implementar essas táticas em sua programação Python pode ajudar muito a aprimorar suas habilidades de codificação.

Artigos relacionados: