Команда try

Конструкцията try позволява обработка на изключения, които могат да възникнат при изпълнение на код. В блока try се поставя потенциално опасен код, а в блока catch - обработващ изключенията. Може да се използва и блок finally, който се изпълнява във всеки случай.

Синтаксис

phptry {
  // Код, който може да предизвика изключение
} catch (ExceptionType $e) {
  // Обработка на изключението
} finally {
  // Код, който ще се изпълни във всеки случай
}

Пример

Прост пример за обработка на изключение:

php<?php
try {
  throw new Exception('Something went wrong');
} catch (Exception $e) {
  echo 'Caught exception: ', $e->getMessage();
}
?>

Резултат от изпълнението на кода:

php'Caught exception: Something went wrong'

Пример

Пример с използване на блок finally:

php<?php
try {
  echo 'Try block executed';
} finally {
  echo ' - Finally block executed';
}
?>

Резултат от изпълнението на кода:

php'Try block executed - Finally block executed'

Пример

Обработка на различни типове изключения:

php<?php
try {
  // Код, който може да предизвика различни изключения
  throw new InvalidArgumentException('Invalid argument');
} catch (InvalidArgumentException $e) {
  echo 'Invalid argument: ', $e->getMessage();
} catch (Exception $e) {
  echo 'Generic exception: ', $e->getMessage();
}
?>

Резултат от изпълнението на кода:

php'Invalid argument: Invalid argument'

Вижте също

  • конструкцията throw,
    която генерира изключение
  • функцията set_exception_handler,
    която задава обработващ изключенията