Przechwytywanie wyjątków z warstwy domeny

Odpowiedz Nowy wątek
2019-08-12 11:43
0

W jaki sposób przechwytujecie wyjątki lecące z warstwy domeny w warstwie aplikacji? Robicie coś w stylu var operationResult = Try(() => aggregateRoot.DoSth()), gdzie Try jest jakimś helperem mapującym wyjątki z domeny na obiekty rezultatu?

Pozostało 580 znaków

2019-08-12 11:50
0

Mógłbyś bardziej opisać swój problem? 😕


Często jestem w biegu więc nie liczcie że kod będzie idealny...
A co tu można więcej napisać? Rzucamy sobie wyjątek z Domain i co dalej? ;) - nobody01 2019-08-12 11:55

Pozostało 580 znaków

2019-08-12 11:57
0

Jeśli nie wiesz co to Try...Catch to proszę:

https://docs.microsoft.com/pl[...]-reference/keywords/try-catch


Często jestem w biegu więc nie liczcie że kod będzie idealny...

Pozostało 580 znaków

2019-08-12 11:58
0

No ale mi chodzi o jakieś eleganckie rozwiązanie.

Pozostało 580 znaków

2019-08-12 11:58
0

Czyli?


Często jestem w biegu więc nie liczcie że kod będzie idealny...

Pozostało 580 znaków

2019-08-12 11:59
0

@Mondonno: Znasz się na DDD? Bo długo by tłumaczyć ;)

Pozostało 580 znaków

2019-08-12 12:01
3

Mam podpięty filtr w ASP.necie który tłumaczy wyjątek na odpowiednią odpowiedź http.

Pozostało 580 znaków

2019-08-12 12:03
0

@mad_penguin: Ok, a zwracasz jakiś Result z warstwy aplikacji, czy stwierdziłeś, że nie pasuje to do DDD i po prostu używasz wyjątków? Bo takie podejście głównie widzę w przykładowych repo.

Aaaa... Oto ci chodziło ;) - Mondonno 2019-08-12 12:04
nie mam DDD, wybacz, nie doczytałem ;) - mad_penguin 2019-08-12 13:13
Też nie mam, jedynie próbuję :P - nobody01 2019-08-12 13:14

Pozostało 580 znaków

2019-08-12 12:24
1

Ja podszedłem w ten sposób, że z domeny zwracam Either, który zawiera albo event utworzony na podstawie wywołanej akcji, albo OperationError, który zawiera informacje co spowodowało błąd w operacji. Może to być nawet głupio spisany message per przypadek, który po prostu bedzie logowany i wypychany wyżej, jeśli potrzeba.

Pozostało 580 znaków

2019-08-12 12:28
0

@Klojtex: Próbuję zrobić coś takiego u siebie, ale widzę, że takie podejście jest zdecydowanie mniej popularne, patrząc po repozytoriach na GitHubie. Wołam @somekind, @Aventus, @neves ;)

Good idea, Sam chętnie poczytam :) - Klojtex 2019-08-12 12:29

Pozostało 580 znaków

2019-08-12 13:22
1

No jak już używasz wyjątków w domenie, to po co je łapać i przepakowywać w warstwie aplikacji? Jaką wartość ma to nam wnieść bo nie dostrzegam tego? Dlatego ja głosuje za filtrami/exception handlererami.


Java to taki C# tyle że z gorszą składnią.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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