Команда throw
Команда throw
используется для явного выброса исключения в PHP.
Она принимает один параметр - объект исключения, который должен быть экземпляром класса,
унаследованного от базового класса Exception. При вызове этой функции выполнение текущего
кода немедленно прекращается, и PHP пытается найти соответствующий блок catch для обработки исключения.
Синтаксис
throw new ExceptionClass(message, code, previous);
Пример
Простой пример генерации исключения:
<?php
$age = -5;
if ($age < 0) {
throw new Exception('Age cannot be negative');
}
?>
Результат выполнения кода:
Fatal error: Uncaught Exception: Age cannot be negative
Пример
Пример с обработкой исключения:
<?php
try {
$res = 10 / 0;
if (is_infinite($res)) {
throw new Exception('Division by zero');
}
} catch (Exception $e) {
echo 'Error: ' . $e->getMessage();
}
?>
Результат выполнения кода:
'Error: Division by zero'
Пример
Использование пользовательского исключения:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException('Custom error message');
} catch (MyCustomException $e) {
echo 'Custom error caught: ' . $e->getMessage();
}
?>
Результат выполнения кода:
'Custom error caught: Custom error message'