PHP: Własna obsługa błędów i wyjątków: psDebug
PHP, szczególnie od wersji 5 w górę jest całkiem przyjemnym językiem i swoimi możliwościami nie odstaje aż tak bardzo od C++, czy Java. Fakt, jest prostszy, ale odkąd działa w nim prawdziwa obiektówka i wyjątki, dobre programowanie stało się wygodniejsze.
Niestety, PHP nie jest pozbawione kilku niedociągnięć, czasami przeradzających się gigantyczny ból w tyłku. Jednym z nich jest niekonsekwencja zachowania funkcji na błędy. Część rzuca wyjątki, część rzuca błędy, a jeszcze inne zwracają FALSE lub NULL gdy coś nie idzie po ich myśli. Z tego powodu, sensowym wyjściem jest napisanie własnej funkcji obsługi błędów przekształcających je na wyjątki. A skoro można napisać coś takiego, to czemu od razu nie napisać własnej funkcji obsługi wyjątków i dodać kilka innych usprawnień?
Z tych powodów, bazując na klasie wfErrorHandler Grzegorza Godlewskiego, napisałem własną klasę obsługi błędów: psDebug. Jej główne cechy to:
- wszystkie błędy są przekształcane na wyjątki w celu ich późniejszego przechwycenia
- wyjątki które nie zostały przechwycone mogą być raportowane na następujące sposoby:
- elegancki komunikat dla użytkownika nie zawierający szczegółów
- pełny komunikat o błędzie razem ze ścieżką wykonania
- przesłanie w tle komunikatu o błędzie do phHelpdesk (który kiedyś wreszcie opublikuję jako OpenSource)
- dodatkowe funkcje wspomagające obsługę błędów
