Budujemy usługę internetową (SOAP, .Net), która będzie rozmawiała z (głównie) rodzimymi klientami (Windows, C ++) i zastanawiamy się, jaki jest najlepszy sposób komunikowania błędów klientowi (np. Coś się stało, że usługa logowania jest niedostępna lub coś takiego, jak użytkownik nie został znaleziony) i nie był w stanie zdecydować między zgłoszeniem wyjątku klientowi a użyciem jakiegoś modelu kodu błędu, aby wykonać powyższe czynności.
Co wolisz w zakresie obsługi po stronie klienta: otrzymanie kodu błędu lub obsługa wyjątku ServerFault, który zawiera przyczynę błędu?
1) Dlaczego myślimy o wyjątku: ponieważ dzięki temu kod po stronie serwera stałby się o wiele bardziej jednolity
2) Dlaczego myślimy o kodach błędów: Ponieważ naszym zdaniem ma to większy sens z punktu widzenia klienta.
Jeśli 2) jest naprawdę prawdą, prawdopodobnie chcielibyśmy wybrać kody błędów niż wyjątki? Czy tak jest w tym przypadku?
Czy zmieniłaby się również odpowiedź, gdybyśmy rozmawiali z klientami zarządzanymi zamiast klientami macierzystymi?