Команди 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();
}
?>
Натиҷаи иҷрои рамз:
'Хатогии фармоишӣ гирифта шуд: Паёми хатогии фармоишӣ'