Aktywne Wpisy
![KwasneJablko](https://wykop.pl/cdn/c3397992/KwasneJablko_datV8wwlgL,q60.jpg)
KwasneJablko +11
Smacznego mi
![KwasneJablko - Smacznego mi](https://wykop.pl/cdn/c3201142/54eaac16346911aeb134c8842dae50594f7d12ad6bc016176dfde72d9a7d0e2c,w150.jpg)
źródło: temp_file6278247077328915740
Pobierz![wfyokyga](https://wykop.pl/cdn/c0834752/fc1df860267eef9195884874c97a8ce34e2d35ce6b30951b45b2517115b44699,q60.jpg)
wfyokyga +188
![wfyokyga](https://wykop.pl/cdn/c3201142/369d05a1a8fc91f3ae4ed6fddbd08c8c225f8b31d7298d0d94cbf83727a1a750,w150.jpg)
źródło: temp_file9065333723014839297
PobierzSkopiuj link
Skopiuj linkźródło: temp_file6278247077328915740
Pobierzźródło: temp_file9065333723014839297
PobierzWykop.pl
Wydzielacie osobną prywatną metodę gdzie obsługujecie wyjątki, i np zwracacie pustą listę bądź pustego Optionala?
Dzieki
#java
Either
gdzie wtedy można na tym map robić i obsłużyć trzeba.Trochę proścej to jakież typowe reaktywne
Mono
gdzie masz już tylko typ a exception jest bardziej ukryte i trzeba już samemu pamiętać by gdzieś niżej obsłużyć już finalnie.Optional też ujdzie jak masz możliwość obsłużenia tego wyjątku poprawnie - co nie zawsze jest możliwe. Bo może to od kodu wywołującego twoją metodą zależy
* @SneakyThrows z Lomboka
* utworzyc sobie metode pomocnicza ktora opakuje exception w RuntimeException (kiedys byla taka libka o ile dobrze pamietam do tego).
W przypadku procesowania jakichs wynikow z innego systemu to obsluga Optionala (orElse lub orElseGet), zwracanie pustych kolekcji, badz implementacja Null Object pattern.
albo zamieniasz na wartość (zależy od konkretnej metody i typów danych) - Optionale, Eithery, Null objecty
albo wrapujesz w RuntimeException i nie musisz deklarować throws
@UberRam: A sneaky throws to jeszcze większe gówno, dobre może tylko do szybkiego prototypowania czy coś. Potem jednak coś
Either
a @UberRam nie słuchaj bo z całego szamba jakim jest Lombok,SneakyThrows
to największe pływające w nim gówno@GotoFinal: Niekoniecznie. JDK wyrzuca wyjątki w bezsensownych sytuacjach czasem, na przykład przy pobieraniu wbudowanego encodingu. Albo gdy jakikolwiek błąd połączenia z bazą ma mi przerwać transakcję, runtime exception jest obsługiwany przez exception mappera (u mnie w dropwizardzie) odpowiednio logowany i zdarza się prawie nigdy to nie ma sensu wszędzie przepychać SQLException.
W praktyce u nas (kilkadziesiąt mikroserwisów) używamy tego non-stop i nigdy nie
@scriptkitty: Jezus, ale wy wiecie że Java to nie tylko spring? Może i popularna technologia, ale pisanie odpowiedzi zakładając że każdy na pewno używa tego samego to trochę smród.
A tak to jak napisałem, są miejsca gdzie jest to ok, ale to nie jest nic co bym zaproponował gdy ktoś pyta mnie co zrobić z wyjątkiem: w weź #!$%@? owrapowany w coś nowego.
A tak to już robienie bezpośrednio RuntimeException to imho duży rak, przynajmniej użyj jakiegoś własnego typu co leci
Poza tym jestem fanem programowania funkcyjnego więc either znam i lubię, ale jestem jedyny taki w tym zespole ( ͡° ͜ʖ ͡°)
Komentarz usunięty przez autora