Dr_Elvis
@Dr_Elvis
В гугле забанен

Как лучше обрабатывать исключения?

Привет!
Есть на входе JSON, который имеет свою структуру, однако значения у ключей могут отсутствовать, например:
С данными один из ключей выглядит так:
"weight":[{"type":1,"value":31.0,"measurement":"g"}]

Но бывает приходит без данных:
"weight":[]

обрабатываемых ключей больше сотни. писать на каждом try...except как то не очень.
Так же может ключ отсутствовать вообще, тогда получу ошибку KeyError

Как правильнее организовать код, чтобы не писать кучу лишнего? Написать отдельную функцию с проверкой и вызывать её на каждый ключ?
Еще хотелось бы как то обрабатывать если у меня какой то ключ ни в одну переменную не записался, так как может появиться новый ключ и тогда я буду знать о нем и напишу свой маппинг к нему.
  • Вопрос задан
  • 145 просмотров
Решения вопроса 1
Guest007
@Guest007
Django, Python, Linux и всё такое...
Пусть weight это ключ в некотором data, тогда:
if 'weight' in data:
    for w in data['weight']:
        t = w['type']
        # и т.д.

Если weight пустой, то цикл не выполнится.
Так что тут никаких проверок/исключений не надо - у тебя сам ключ - проверка, поскольку это список, который или пустой или нет.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
netpastor
@netpastor
Python developer
Посмотри также на https://github.com/Deepwalker/trafaret
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы