Функция catch
Функцията catch е част от блока try-catch и служи за прихващане на изключения, които могат да бъдат хвърлени в блока try. При възникване на изключение изпълнението на кода преминава в съответния блок catch, където може да се обработи грешката.
Синтаксис
try {
// Код, който може да хвърли изключение
} catch (ExceptionType $e) {
// Обработка на изключението
}
Пример
Прост пример за обработка на изключение:
<?php
try {
throw new Exception('Something went wrong');
} catch (Exception $e) {
echo 'Caught exception: ' . $e->getMessage();
}
?>
Резултат от изпълнението на кода:
'Caught exception: Something went wrong'
Пример
Обработка на различни типове изключения:
<?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();
}
?>
Възможни резултати от изпълнението на кода:
'Invalid argument: Invalid argument'
или
'Runtime error: Runtime error'