Мы создаем веб-сервис (SOAP, .Net), который будет взаимодействовать (главным образом) с собственными клиентами (windows, C ++), и нам интересно, как лучше всего сообщить клиенту об ошибках (например, SomethingBadHappened, например, служба входа недоступна) или что-то вроде пользователя не найден), и он не смог решить, выдать ли клиенту исключение или использовать какую-либо модель кода ошибки для выполнения вышеупомянутого.
Что бы вы предпочли при обработке на стороне клиента: получение кода ошибки или обработка исключения ServerFault, которое содержит причину ошибки?
1) Почему мы думаем об исключении: потому что это сделает код на стороне сервера более единообразным
2) Почему мы думаем о кодах ошибок: потому что мы думаем, что это имеет больше смысла с точки зрения стороны клиента.
Если 2) действительно верно, мы бы хотели использовать коды ошибок, а не исключения? Это тот случай, здесь?
Кроме того, изменится ли ответ, если мы будем говорить с управляемыми клиентами вместо собственных клиентов?