Dobre praktyki obsługi wyjątków

Założenie: Pokażemy, jak prawidłowo obsługiwać wyjątki w PHP, w szczególności jak logować nieprzechwycone wyjątki, aby ułatwić debugowanie.

Krok po kroku:

  1. Tworzenie funkcji, która może zgłaszać wyjątek:
    
    function dzielenie($a, $b) {
      if ($b == 0) {
        throw new Exception("Dzielenie przez zero!");
      }
      return $a / $b;
    }
    				

    Funkcja dzielenie zgłasza wyjątek Exception, jeśli drugi argument jest równy zero.

  2. Obsługa wyjątków za pomocą bloku try...catch:
    
    try {
      $wynik = dzielenie(10, 2);
      echo "Wynik: " . $wynik . "
    "; $wynik = dzielenie(10, 0); echo "Wynik: " . $wynik . "
    "; } catch (Exception $e) { echo "Wystąpił błąd: " . $e->getMessage() . "
    "; // Logowanie błędu (np. do pliku) error_log("Wyjątek: " . $e->getMessage() . " w pliku: " . $e->getFile() . " w linii: " . $e->getLine(), 3, "error.log"); }

    Blok try zawiera kod, który może zgłosić wyjątek. Blok catch przechwytuje wyjątek i wykonuje odpowiednie działania. Dodatkowo, błąd jest logowany do pliku “error.log” za pomocą funkcji `error_log`.

  3. Obsługa nieprzechwyconych wyjątków (opcjonalnie):
    
    set_exception_handler(function ($exception) {
        error_log("Nieprzechwycony wyjątek: " . $exception->getMessage() . " w pliku: " . $exception->getFile() . " w linii: " . $exception->getLine(), 3, "error.log");
    });
    				

    Funkcja `set_exception_handler` ustawia funkcję, która będzie wywoływana w przypadku nieprzechwyconych wyjątków. To zapewnia, że nawet jeśli wyjątek nie zostanie obsłużony w bloku `try…catch`, zostanie zalogowany.

Ten przykład pokazuje podstawy obsługi wyjątków w PHP. Pamiętaj, że odpowiednie logowanie wyjątków jest kluczowe dla efektywnego debugowania i utrzymania aplikacji.

Zachęcamy do dalszego zgłębiania tematu obsługi wyjątków w PHP, aby tworzyć bardziej robustne i niezawodne aplikacje.

Dodaj komentarz 0

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