Как создать дополнительный возврат или распаковку кортежа - PullRequest
0 голосов
/ 20 февраля 2020

Я хочу отправить кортеж обратно, если функция возвращает сообщение об ошибке, и данные в случае успеха:

Пример функции:

def test(args):
   if (some success here):
     return data
   return None, error_message

Вызов:

data, error_msg = test(args)
if error_msg:
   return somehttpresponse(error_msg, 400)
return somehttpresponse(data, 200)

Как я могу достичь этого в python? Или есть какой-нибудь другой чистый способ вернуть сообщение об ошибке, не ставя под угрозу возвращаемые данные в случае успеха?

1 Ответ

0 голосов
/ 20 февраля 2020

Пока я использовал исключение:

Пример функции:

def test(args):
   if (some success here):
     return data
   raise ValueError(error_message)
   return None

Вызов:

try:
   data = test(args)
   return somehttpresponse(data, 200)
except ValueError as err:
   return somehttpresponse(err, 400)

Не уверен, что это самый эффективный способ. все еще надеясь, что у кого-то есть ответ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...