• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Obsługa wyjątków, jak to powinno wyglądać?

Aruba Cloud - Virtual Private Server VPS
0 głosów
344 wizyt
pytanie zadane 6 września 2018 w PHP przez BetBet Użytkownik (550 p.)
Witam,
Z góry mówię, że jestem troszkę zielony w obsłudze wyjątków.
Zastanawia mnie jak to powinno wyglądać / jak wygląda ze strony użytkownika. Obstawiam, że istnieje coś takiego jak wyłączenie pokazywania błędów. Widziałem przypadki stron gdzie krytyczny błąd był wywalany użytkownikowi na ekranie i takie gdzie błąd był w jakimś dość przyjemnym widoku z instrukcją żeby poinformować support i pod spodem dane kontaktowe. Szczerze nawet nie wiem czy obsługa tych wyjątków ma służyć programistom czy, żeby ograniczyć informacje które otrzyma użytkownik o tym błędzie.
Tak więc dla kogo są te informacje, dla użytkownika czy programistów? Da się jakoś wyłączyć kompletnie te błędy żeby użytkownik ich nie widział albo - np walnąć widok z informacją, że są jakieś problemy ze stroną i że prosimy o poinformowanie support na ten i na ten adres o problemie z opisem co powoduje błąd?

1 odpowiedź

0 głosów
odpowiedź 6 września 2018 przez Ehlert Ekspert (214,940 p.)
wybrane 7 września 2018 przez BetBet
 
Najlepsza

Error reporting i levele ustawia się w php.ini. W kodzie specjalnie powinny mieć miejsca gdzie leci wyjątek. Masz np wyciągnie usera po unikalnych wartościach. Jeśli wyciągniesz 2 userów to ewidentnie trzeba rzucić exception.

Widziałem przypadki stron gdzie krytyczny błąd był wywalany użytkownikowi na ekranie i takie gdzie błąd był w jakimś dość przyjemnym widoku z instrukcją żeby poinformować support i pod spodem dane kontaktowe. 

To jest śmiech na sali bo każda szanująca się osoba, która zajmuje się utrzymywaniem aplikacji wyłapuje od razu błędy w logach, lub narzędziami do monitoringu.

Korzystaj z frameworków. Możesz w nich ustawić środowisko w jakim jest uruchamiany serwer. Dla dev widzisz widzisz wszystkie błędy, dla prod jest ich mniej a user widzi to, o czym Ty zdecydujesz.

komentarz 7 września 2018 przez BetBet Użytkownik (550 p.)
W jaki sposób powinienem obsługiwać te błędy, tzn. powiedzmy ze piszę sobie jakąś metodę gdzie daje jakiegoś ifa i jeśli nie będzie spełniony to rzucam wyjątek, potem podczas wywołania tej metodu opieczętowuje ją w try i w catch zapisuje do pliku z logami godzinę i datę pojawienia się wyjątku i jakieś tam informacje i co dalej? Normalnie z tego co widzę to kod idzie dalej jak by nic się nie stało, czyli co, znowu mam w klauzuli catch napisać throw $e? żeby ktoś kto korzysta z tej metody nie musiał szukać wyżej co spowodowało błąd?
komentarz 7 września 2018 przez Ehlert Ekspert (214,940 p.)

Generalnie jeśli nie piszesz z jakimś kernelem, lub bardziej rozbudowaną architekturą, to bez sensu jest korzystać z wyjątków. Nie masz nawet jakiegoś rozsądnego miejsca żeby je łapać. Dlatefk pisałem o frameworkach. 

Cały patent polega na tym  żeby tak pisać oprogramowanie aby w kodzie było rzucanie wyjątkami. Ale nigdy do tego nie dochodziło laugh

komentarz 7 września 2018 przez BetBet Użytkownik (550 p.)

 Używam symfony 4, co mi to daje?


Nie masz nawet jakiegoś rozsądnego miejsca żeby je łapać

Znaczy czasem jest potrzeba ich złapania i obsłużenia w przypadku błędu, sam jeszcze takich bardzo newralgicznych punktów nie pisałem ale wiem, że czasem tam trzeba zamknąć otwarty plik czy połączenie z bazą.

Podobne pytania

0 głosów
0 odpowiedzi 182 wizyt
pytanie zadane 19 marca 2024 w Python przez tubylec01 Obywatel (1,550 p.)
+1 głos
0 odpowiedzi 279 wizyt
pytanie zadane 2 listopada 2020 w C# przez XavRock Obywatel (1,390 p.)
0 głosów
1 odpowiedź 255 wizyt
pytanie zadane 3 stycznia 2020 w C# przez dawid2002 Mądrala (5,190 p.)

93,329 zapytań

142,323 odpowiedzi

322,400 komentarzy

62,662 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...