Функция catch

Функция catch является частью блока try-catch и служит для перехвата исключений, которые могут быть выброшены в блоке try. При возникновении исключения выполнение кода переходит в соответствующий блок catch, где можно обработать ошибку.

Синтаксис

phptry {
  // Код, который может выбросить исключение
} catch (ExceptionType $e) {
  // Обработка исключения
}

Пример

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

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

Результат выполнения кода:

php'Caught exception: Something went wrong'

Пример

Обработка разных типов исключений:

php<?php
  try {
    if (rand(0, 1)) {
      throw new InvalidArgumentException('Invalid argument');
    } else {
      throw new RuntimeException('Runtime error');
    }
  } catch (InvalidArgumentException $e) {
    echo 'Invalid argument: ' . $e->getMessage();
  } catch (RuntimeException $e) {
    echo 'Runtime error: ' . $e->getMessage();
  } catch (Exception $e) {
    echo 'Generic exception: ' . $e->getMessage();
  }
?>

Возможные результаты выполнения кода:

php'Invalid argument: Invalid argument'
или
'Runtime error: Runtime error'

Смотрите также

  • конструкцию try,
    которая определяет блок кода для обработки исключений
  • конструкцию throw,
    которая выбрасывает исключение
  • класс Exception,
    который является базовым классом для всех исключений