Rzucanie wyjątku czy zwracanie bool podczas operacji wykonywanych na bazie danych

0

Podczas wykonywania operacji na bazie danych w razie wystąpienia "błędu" (nie pobrania np sklepu o podanym id) lepiej jest zwrócić boola czy rzucić wyjątek?

1

To zależy czy jest to sytuacja wyjątkowa. ;) ?

1

Lepiej jest zwrócić optionala.

0

Lepiej zwrócić nulla ;)

0

W czystym kodzie piszą, by nie zwracac nulla ;p

0

Jak dojdziesz do. Mistrza Czystego Kodu to się dowiesz, że jedną z praw prawdziwego TDD to pokrycie w 100% procent twojego kodu Uint Testami. :) Morał z tego taki, że bobek sprzedaje jedynie czyjąś wiedzę i czasami robi to nieudolnie.

0

Zawsze lepiej jest jeśli możemy uniknąć zgłaszania wyjątków i takiej zasady powinniśmy się trzymać .
Zresztą , praktyka czyni mistrza . Sam się przekonasz w praktyce jak jest lepiej .

3

Jeśli to użytkownik podaje dane do wyszukiwania i aplikacja ich nie znajduje, to jest to normalna sprawa i zwracamy pustą kolekcję znalezionych obiektów, albo pusty obiekt (niekoniecznie null).
Jeżeli zaś oczekujemy, że dany rekord w bazie istnieje, a go nie ma (dane magicznie wyparowały z bazy), to jest to sytuacja wyjątkowa, oznaczająca prawdopodobnie jakiś błąd w systemie, więc niby można rzucić wyjątek. Chociaż ja bym tak tego nie zaimplementował tylko zwrócił jakiś np. enum oznaczający nieprawidłowy wynik operacji.

1

a nie lepiej stworzy takie MethodResponse gdzie beda wlasciwosci: IsAccepted jesli wszystko ok to dane beda w drugiej wlasciwosci Data a jesli nie ok to bledy sa w kolejnej wlasciwosci RejectReasons na przyklad i za pomoca takiego obiektu komunikujemy sie miedzy metodami czy to metoda a repozytorium

0

Przecież jeśli operacja się nie powiedzie, to biblioteka, którą używasz, sama zwróci wyjątek. Więc po co robić jakieś dodatkowe ceregiele ?

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