Какое лучшее решение для обработки исключений Keyerror в python - PullRequest
0 голосов
/ 18 апреля 2020

У меня есть простой класс, как показано ниже:

class Test(object):
    def __init__(self):
        first_dict :  {'author': 'Author', 'status': 'Status'}
        second_dict :  {'Author': 'owner', 'Status': 'current-status'}
        third_dict :  {'owner': 'author', 'current-status': 'status'}
obj = Test()

Я хочу обработать, если мой код хочет получить доступ к любому словарю с неправильным ключом, как показано ниже.

obj.second_dict['some_wrong_key']

Обратите внимание что second_dict зависит от 1-го, а third_dict зависит от 2-го.

1 Ответ

0 голосов
/ 18 апреля 2020

Вы можете использовать функцию get. Он вернет None, если key не найден. Кроме того, он принимает необязательный аргумент, который будет возвращен, если key не найден.

obj.second_dict.get('some_wrong_key')  # returns None (no error)
obj.second_dict.get('some_wrong_key', "I'm missing here")  # returns "I'm missing here"
...