Вернуть 2 значения, успех или ошибка, идиоматическим способом?

Есть библиотека, которая по сути является оболочкой для API. Существует базовый частный метод make_request_to_server и многие другие, которые отправляют конкретные команды через базовый метод.

Какой идиоматический способ вернуть результат из метода, который отправляет запрос на удаленный сервер и может:

      * throw an exception, as all methods
* return data, from a server
* return error, from a server

Клиенту, очевидно, необходимо знать, является ли результат успехом или ошибкой, а если ошибка, то какой ошибкой.

Не рассматриваю сторонние библиотеки.

Подойдет что-то похожее на Either monad или что-то подобное и попроще.

Я знаю, что могу вернуть 2 значения или хэш {result:, error:}, но будут ли они идиоматическими?

0 ответов

Другие вопросы по тегам