Globalny handler wyjątków (set_exception_handler)

Założenie: Nauczymy się, jak utworzyć globalny handler wyjątków w PHP, aby centralnie zarządzać nieprzechwyconymi błędami.

Krok po kroku:

  1. Definicja funkcji handlera: Tworzymy funkcję, która będzie obsługiwać wyjątki. Funkcja ta przyjmuje jako argument obiekt wyjątku.
  2. 
    function globalnyHandlerWyjatkow(Throwable $e) {
      error_log("Wystąpił wyjątek: " . $e->getMessage() . " w pliku: " . $e->getFile() . " w linii: " . $e->getLine());
      // Możesz tutaj dodać np. logowanie do bazy danych, wysłanie maila, itp.
      // echo "Wystąpił błąd!"; // Unikaj wyświetlania szczegółów błędów użytkownikowi w produkcji!
    }
    				
  3. Ustawienie handlera: Rejestrujemy naszą funkcję jako globalny handler wyjątków za pomocą funkcji set_exception_handler().
  4. 
    set_exception_handler('globalnyHandlerWyjatkow');
    				
  5. Generowanie wyjątku: Teraz, gdy wystąpi nieprzechwycony wyjątek, zostanie on przechwycony przez nasz handler.
  6. 
    try {
      // Kod, który może wygenerować wyjątek
      $liczba = 10 / 0; 
    } catch (DivisionByZeroError $e) {
      echo "Przechwycono wyjątek DivisionByZeroError";
    }
    
    // Wyjątek bez obsługi - zostanie przechwycony przez globalny handler
    $tablica = [];
    echo $tablica[10];
    				
  7. Sprawdzenie logów: Sprawdź logi serwera (np. error_log) aby zobaczyć, jak działa handler.

Ten przykład pokazuje podstawy tworzenia globalnego handlera wyjątków w PHP. Zachęcamy do dalszego zgłębiania tematu obsługi wyjątków, aby tworzyć bardziej odporne i stabilne aplikacje.

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *