Jak przechwycić exception z usługi?

0

Witam serdecznie.
Mam problem, zdawałoby się prosty do rozwiązania, jednak nie potrafię sobie z nim poradzić, więc objaśnię na czym polega i prośba do Was drodzy użytkownicy o pomoc.

Wywołuję usługę z service, wywołanie to jest obudowane try, w catchu chciałbym przechwycić Exceptiona, którego tworzę wewnątrz kodu usługi, którą wywołuję. Nie wiem jak zrobić to poprawnie. Wewnątrz usługi napisałem tak:

catch (Exception e)
{
      throw new Exception("Test");
}
 

W momencie wywołania usługi natomiast tak:

try
{
      dsTransChoosen = myWS.convertTransfGtrToAiES(GetUserContextId(), myTr);
}
      catch (Exception exc)
{
      this.DisplayAlert(exc.message);
      return;
}
 

exc.message wygląda tak:
http://prnt.sc/cvp1fl

Jak widać "Test" jest w message, ale obudowany treścią która mnie nie interesuje.

Jak to zrobić poprawnie?

Pozdrawiam
Nieznasz

1

To jest WCF?
Jak tak to możesz popatrzeć na ten przykład: Obsługa błędów w webservice

Ale tak btw. to rzucanie wyjątków między serwisem a klientem to tak słabo.

0
DibbyDum napisał(a):

Ale tak btw. to rzucanie wyjątków między serwisem a klientem to tak słabo.

To co proponujesz?

Tak WCF.

Dzięki za szybką odpowiedź.

2

pytanie podstawowe to nieszczęsne po co?. Generalnie usługa to samodzielny twór, który z założenia ma pracować z wieloma klientami i nie powinien wypuszczać wyjątków na zewnątrz. Nie lepiej zamiast tego zwracać status czy się udało czy nie.

0

Tylko, że mogą być różne powody niepowodzenia. Dodatkowo w komunikacie zwracane są dane obiektu, który doprowadził do exceptiona.

Generalnie rozumiem. Powinno być to zrobione w ten sposób, że usługa powinna zwracać np. obiekt, który zawiera w sobie informacje mi potrzebne.

Problem polega jednak na tym, że sama usługa wywołuje kolejne metody, łańcuszek jest dość długi, ja natomiast nie piszę nowej usługi, a poprawiam czyjeś błędy. Przebudowanie wielu metod pod względem ich zwracanego typu nie wchodzi w grę. Chcę wykorzystać exceptiona, który ktoś zostawił, źle wyrzucanego bo wywala aplikację.

Dzięki za pomoc !

1 użytkowników online, w tym zalogowanych: 0, gości: 1