Komanda throw
Komanda throw tiek izmantota izņēmuma skaidrai izmešanai PHP.
Tā pieņem vienu parametru - izņēmuma objektu, kuram jābūt klases instances,
kura mantota no pamatklases Exception. Izsaucot šo funkciju, pašreizējā
koda izpilde nekavējoties tiek pārtraukta, un PHP mēģina atrast atbilstošo catch bloku izņēmuma apstrādei.
Sintakse
throw new ExceptionClass(message, code, previous);
Piemērs
Vienkāršs izņēmuma ģenerēšanas piemērs:
<?php
$age = -5;
if ($age < 0) {
throw new Exception('Vecums nevar būt negatīvs');
}
?>
Koda izpildes rezultāts:
Fatal error: Uncaught Exception: Vecums nevar būt negatīvs
Piemērs
Piemērs ar izņēmuma apstrādi:
<?php
try {
$res = 10 / 0;
if (is_infinite($res)) {
throw new Exception('Dalīšana ar nulli');
}
} catch (Exception $e) {
echo 'Kļūda: ' . $e->getMessage();
}
?>
Koda izpildes rezultāts:
'Kļūda: Dalīšana ar nulli'
Piemērs
Pielāgota izņēmuma izmantošana:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException('Pielāgots kļūdas ziņojums');
} catch (MyCustomException $e) {
echo 'Pielāgota kļūda noķerta: ' . $e->getMessage();
}
?>
Koda izpildes rezultāts:
'Pielāgota kļūda noķerta: Pielāgots kļūdas ziņojums'