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

VPS Starter Arubacloud
0 głosów
224 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,630 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,630 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 44 wizyt
+1 głos
0 odpowiedzi 215 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,454 zapytań

141,262 odpowiedzi

319,094 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...