Как сделать в цикле исключение, продолжение работы скрипта?

подскажите , как сделать в цикле исключения. Пример:

user_json = json.loads(req.text)

for acc in user_json['result']['per']:
        try:
            if user_json['result']['per'] is not None:
                        account.append(str(acc['name']))
            else:
                        account.append("mail.ru")
        except:
            account.append("mail.ru")

Такие решения не работаю, так как если в результате запросы в json нет значения result, скрипт падает

    for acc in user_json['result']['per']:
KeyError: 'result'

, а мне надо что бы если даже значения не было, он добавил значение по умолчанию в данном случае mail.ru

p.s. иногда в итерациях не приходят значениях , те что в result, их нет, так вот на этом моменте скрипт падает, а мне надо что бы итерации дальше продолжались


Ответы (2 шт):

Автор решения: Zhihar

может вот такой способ поможет?

user_json = {'result': {'per': [{}, {'name': 'test'}]}}

account = []

try:
    for acc in user_json['result']['per']:
        try:
            account.append(acc['name'])
        except:
            account.append("mail.ru")
except:
    account.append("mail.ru")

print(account)

мне кажется вы try..except просто некорректно расставили

→ Ссылка
Автор решения: GrAnd

В одну строчку:

account = [acc.get('name', "mail.ru") for acc in (user_json['result']['per'] if 'result' in user_json and 'per' in user_json['result'] else [{}])]
→ Ссылка