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