Obsługa wyjątków to kluczowa część programowania w PHP, która pozwala na eleganckie radzenie sobie z błędami w czasie wykonania programu. Mechanizm ten umożliwia wykrycie błędu, zareagowanie na niego i kontynuowanie pracy aplikacji bez jej przerywania. Dzięki temu możemy stworzyć bardziej stabilne i bezpieczne aplikacje. W tej lekcji przedstawimy, jak używać try, catch i finally do obsługi wyjątków w PHP.
Przykład kodu PHP z prostym HTML
W tym przykładzie stworzymy prosty formularz HTML, który pozwoli użytkownikowi na wprowadzenie liczby. Następnie, za pomocą PHP, sprawdzimy, czy podana liczba jest większa od zera. Jeśli nie, zgłosimy wyjątek.
Kod HTML:
<!DOCTYPE html>
<html lang="pl">
<head>
    <meta charset="UTF-8">
    <title>Obsługa wyjątków w PHP</title>
</head>
<body>
    <form method="post">
        <label for="number">Wprowadź liczbę:</label>
        <input type="text" id="number" name="number">
        <button type="submit">Sprawdź</button>
    </form>
</body>
</html>
Kod PHP:
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $number = $_POST['number'];
    try {
        // Sprawdzanie, czy liczba jest większa od zera
        if ($number <= 0) {
            throw new Exception("Liczba musi być większa od zera!");
        }
        echo "<h3>Liczba jest poprawna: $number</h3>";
    } catch (Exception $e) {
        // Obsługa wyjątku
        echo "<h3>Wystąpił błąd: " . $e->getMessage() . "</h3>";
    } finally {
        // Kod, który zostanie wykonany niezależnie od wystąpienia wyjątku
        echo "<p>Sprawdzanie zakończone.</p>";
    }
}
?>
Omówienie
- try: Blok tryzawiera kod, który może zgłosić wyjątek. W naszym przypadku jest to próba sprawdzenia, czy wprowadzona liczba jest większa od zera.
- catch: Blok catchprzechwytuje wyjątek zgłoszony w blokutry. Parametrem blokucatchjest obiekt wyjątku, który zawiera informacje o błędzie. Dzięki temu możemy odpowiednio zareagować na błąd, np. wyświetlając komunikat.
- finally: Blok finallyzawiera kod, który zostanie wykonany po blokachtryicatch, niezależnie od tego, czy wyjątek został zgłoszony, czy nie. Jest to dobre miejsce na kod, który musi zostać wykonany zawsze, np. zamknięcie połączenia z bazą danych.
Podsumowanie
Obsługa wyjątków w PHP umożliwia tworzenie bardziej niezawodnych aplikacji poprzez umożliwienie programiście na odpowiednie reagowanie na błędy w czasie wykonania programu. Dzięki zastosowaniu bloków try, catch i finally, możemy zapewnić, że nasza aplikacja będzie działała płynnie, nawet w przypadku wystąpienia nieoczekiwanych błędów. Ten mechanizm jest niezwykle pomocny w tworzeniu bezpiecznego i stabilnego oprogramowania.