Wyjątki a obsługa klienta
Założenie: Pokażemy, jak obsłużyć wyjątek w PHP i wyświetlić użytkownikowi komunikat o błędzie bez ujawniania szczegółów technicznych.
Krok po kroku:
- Próba otwarcia pliku, który może nie istnieć:
try { $file = fopen('plik.txt', 'r'); if ($file) { fclose($file); echo "Plik został otwarty."; } } catch (Exception $e) { echo "Przepraszamy, wystąpił błąd. Spróbuj ponownie później."; }
Ten kod próbuje otworzyć plik ‘plik.txt’. Jeśli plik istnieje i zostanie poprawnie otwarty, wyświetli komunikat o sukcesie. Jeśli wystąpi błąd (np. plik nie istnieje), zostanie przechwycony wyjątek i wyświetlony ogólny komunikat dla użytkownika.
- Bardziej szczegółowa obsługa wyjątków:
try { $file = fopen('plik.txt', 'r'); if ($file) { fclose($file); echo "Plik został otwarty."; } else { throw new Exception("Nie można otworzyć pliku."); } } catch (Exception $e) { error_log($e->getMessage()); // Logowanie szczegółowego komunikatu o błędzie dla administratora echo "Przepraszamy, wystąpił problem. Skontaktuj się z administratorem."; }
Tutaj dodaliśmy bardziej szczegółową obsługę. Jeśli plik nie zostanie otwarty, rzucamy własny wyjątek z komunikatem. Szczegółowy komunikat jest zapisywany do logu błędów (za pomocą `error_log`), a użytkownik widzi tylko ogólny komunikat.
Ten przykład pokazuje podstawy obsługi wyjątków w PHP i jak wykorzystać je do poprawnego informowania klienta o błędach. Zachęcamy do dalszego zgłębiania tematu!