Команда 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,
която задава обработващ изключенията