Funkcja catch
Funkcja catch jest częścią bloku try-catch i służy do przechwytywania wyjątków, które mogą zostać rzucone w bloku try. W przypadku wystąpienia wyjątku wykonanie kodu przechodzi do odpowiedniego bloku catch, gdzie można obsłużyć błąd.
Składnia
try {
// Kod, który może rzucić wyjątek
} catch (ExceptionType $e) {
// Obsługa wyjątku
}
Przykład
Najprostszy przykład obsługi wyjątku:
<?php
try {
throw new Exception('Something went wrong');
} catch (Exception $e) {
echo 'Caught exception: ' . $e->getMessage();
}
?>
Wynik wykonania kodu:
'Caught exception: Something went wrong'
Przykład
Obsługa różnych typów wyjątków:
<?php
try {
if (rand(0, 1)) {
throw new InvalidArgumentException('Invalid argument');
} else {
throw new RuntimeException('Runtime error');
}
} catch (InvalidArgumentException $e) {
echo 'Invalid argument: ' . $e->getMessage();
} catch (RuntimeException $e) {
echo 'Runtime error: ' . $e->getMessage();
} catch (Exception $e) {
echo 'Generic exception: ' . $e->getMessage();
}
?>
Możliwe wyniki wykonania kodu:
'Invalid argument: Invalid argument'
lub
'Runtime error: Runtime error'