Try командаси
try конструкцияси код ижросида юзага келиши мумкин бўлган ислюсияларни ишлов бериш имконини беради.
try блокида хавфли код joylanadi, catch блокида эса ислюсияларни ишловчи joylanadi.
Шунингдек, finally блоками ҳам ишлатилиши мумкин, у ҳар ҳолда ижро этилади.
Синтаксис
try {
// Ислюсия келтириб чиқариши мумкин бўлган код
} catch (ExceptionType $e) {
// Ислюсияни ишлов бериш
} finally {
// Ҳар ҳолда ижро этиладиган код
}
Мисол
Ислюсияни ишлов беришнинг содда мисоли:
<?php
try {
throw new Exception('Something went wrong');
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage();
}
?>
Кодни ижро этиш натижаси:
'Caught exception: Something went wrong'
Мисол
finally блокамидан фойдаланиш мисоли:
<?php
try {
echo 'Try block executed';
} finally {
echo ' - Finally block executed';
}
?>
Кодни ижро этиш натижаси:
'Try block executed - Finally block executed'
Мисол
Турли хил ислюсия турларини ишлов бериш:
<?php
try {
// Турли хил ислюсияларни келтириб чиқариши мумкин бўлган код
throw new InvalidArgumentException('Invalid argument');
} catch (InvalidArgumentException $e) {
echo 'Invalid argument: ', $e->getMessage();
} catch (Exception $e) {
echo 'Generic exception: ', $e->getMessage();
}
?>
Кодни ижро этиш натижаси:
'Invalid argument: Invalid argument'
Шунингдек қаранг
-
throwконструкцияси,
ислюсия келтириб чиқаради -
set_exception_handlerфункцияси,
ислюсия ишловчини ўрнатади