• 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ć?

Object Storage Arubacloud
0 głosów
235 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 (212,670 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 (212,670 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 52 wizyt
+1 głos
0 odpowiedzi 218 wizyt
pytanie zadane 2 listopada 2020 w C# przez XavRock Obywatel (1,390 p.)
0 głosów
1 odpowiedź 180 wizyt
pytanie zadane 3 stycznia 2020 w C# przez dawid2002 Mądrala (5,190 p.)

92,550 zapytań

141,392 odpowiedzi

319,520 komentarzy

61,935 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...