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
try
zawiera 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
catch
przechwytuje wyjątek zgłoszony w blokutry
. Parametrem blokucatch
jest 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
finally
zawiera kod, który zostanie wykonany po blokachtry
icatch
, 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.