Командата throw
Командата throw се користи за експлицитно фрлање на исклучок во PHP.
Таа прифаќа еден параметар - објект на исклучок, кој мора да биде инстанца од класа,
наследена од базичната класа Exception. При повикување на оваа функција, извршувањето на тековниот
код веднаш прекинува, и PHP се обидува да го пронајде соодветниот catch блок за обработка на исклучокот.
Синтакса
throw new ExceptionClass(message, code, previous);
Пример
Прост пример за генерирање на исклучок:
<?php
$age = -5;
if ($age < 0) {
throw new Exception('Возраста не може да биде негативна');
}
?>
Резултат од извршување на кодот:
Fatal error: Uncaught Exception: Возраста не може да биде негативна
Пример
Пример со обработка на исклучок:
<?php
try {
$res = 10 / 0;
if (is_infinite($res)) {
throw new Exception('Делење со нула');
}
} catch (Exception $e) {
echo 'Грешка: ' . $e->getMessage();
}
?>
Резултат од извршување на кодот:
'Грешка: Делење со нула'
Пример
Користење на кориснички дефиниран исклучок:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException('Корисничка порака за грешка');
} catch (MyCustomException $e) {
echo 'Фатен кориснички исклучок: ' . $e->getMessage();
}
?>
Резултат од извршување на кодот:
'Фатен кориснички исклучок: Корисничка порака за грешка'