Команда try
Сохтори try имкон медиҳад, ки истисноҳое, ки дар вақти иҷрои код пайдо мешаванд, коркард карда шаванд.
Дар блоки try коди потенсиалӣ хатарнок ҷойгир карда мешавад, ва дар блоки catch - коркунаки истисноҳо.
Инчунин метавонад блоги 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,
ки коркунаки истисноҳоро таъин мекунад