Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%)
|
Ostatnio ciekawi mnie temat używania Exceptionów - muszę przyznać, że trochę słabo to czuję. Kiedyś Exception stosowałem do rzeczy, które po prostu mogły spowodować niedziałanie aplikacji - np. brak dostępu do pliku czy coś podobnego. Ostatnio jednak widzę, że coraz częściej w nowych bibliotekach Exceptiony stosuje się w inny sposób tj. do wymuszenia typowania metody bez zwracania NULL.
Np taka klasa:
Pierwsza metoda (podejście o którym mówię) nigdy nie zwraca nulla, tylko obiekt lub rzuca wyjątek. Druga metoda (tradycyjna) zwraca obiekt lub null. Które podejście stosujecie? Dlaczego. Ja po rozmowie z kolegą zacząłem skłaniać się ku pierwszej wersji i brak możliwości zwrócenia oczekiwanego obiektu traktuję jako wyjątek.Podświadomie wydaje mi się to bardziej logiczne i wymusza trochę więcej dyscypliny. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%)
|
1-sza bo:
- rzucasz w 1 miejscu wyjątek - zawsze dostajesz w return to czego oczekujesz bez zbędnego sprawdzania czy aby nie jest to null czy coś innego - Exception możesz sobie złapać w 1 miejscu jeśli masz taką fantsazję Oczywiście 2-gi przykład też jest ok dla pewnych przypadków (tam gdzie oczekujemy że faktycznie może być null). Dodatkowo jak sobie organizujesz aplikację w DDD to widzisz jakie wyjątki może zwrócić twoja Domena. Oczywiście nic na siłę (IMG:style_emoticons/default/smile.gif) |
|
|
|
athabus Używanie Exceptionów a typowanie 31.12.2018, 14:04:37
viking W pierwszym dodatkowo może polecieć type error jeś... 31.12.2018, 14:42:44
markonix Ja bym jednak wolał aby repozytoria zwracały puste... 31.12.2018, 15:10:21
athabus Co do kwestii przyzwyczajeń to trochę rozumiem bo ... 31.12.2018, 15:48:00
Pilsener Jeśli przy próbie pobrania czegoś leci wyjątek, to... 31.12.2018, 17:11:46
athabus Haha nie rozawżajmy przypadków skrajnych jak ten z... 1.01.2019, 13:29:58 
Pilsener Cytat(athabus @ 1.01.2019, 13:29:58 )... 1.01.2019, 17:04:28
athabus Hej ale mamy XXI wiek i od takich rzeczy jest IDE ... 1.01.2019, 19:55:29
kapslokk Ja pozwolę sobie zostawić tutaj link: https://www.... 3.01.2019, 09:26:06
Crozin 1. Nie ma jednoznacznej odpowiedzi na pytanie null... 3.01.2019, 15:37:02
athabus @kapslokk - fajne slidy - sporo mi dały do myśleni... 3.01.2019, 16:14:36
Pyton_000 Co do race condition to przypomniała mi się moja d... 3.01.2019, 17:19:27 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 13:02 |