![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Mam sobie klasę Config, która parsuje plik i udostępnia interfejs do pobierania informacji o ustawianiach konfiguracyjnych. W klasie dozwolona jest zmiana ścieżki do pliku, który ma być parsowany.
Teraz do sedna, jaki typ wyjątku mam rzucić gdy plik nie istnieje lub nie mam uprawnień do odczytu? LogicException czy RuntimeException ? Dalej, jeżeli mam tablicę asocjacyjną, podaję klucz do funkcji i ma mi zwrócić wartość, sprawdzam czy klucz istnieje, jeżeli nie istnieje to jaki typ wyjątku rzucić? InvalidArgumentException ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
U siebie zrobiłem dwie klasy, właściwie to trzy, wzorując się zresztą na symfony. Jedna to jest HttpException, która jest dziedziczona przez NotFoundHttpException oraz AccessDeniedException. W ExceptionHandler sprawdzam czy rzucany wyjątek jest instancją HttpException i jeżeli jest, to z tej klasy jest pobierany "kod" błędu, który w istocie jest kodem błędu http (404 dla NotFoundHttpException oraz 403 dla AccessDeniedException). Chodź równie dobrze wystarczyło by tylko samo HttpException rzucać i przekazać mu odpowiedni kod błędu jako parametr..
No ale w sumie są to jedyne klasy wyjątków, których są niestandardowe, prócz tych trzech, nic ponadto nie tworze (IMG:style_emoticons/default/wink.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 21:01 |