ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
363 of 410 menu
Новый формат обучения! Репетиторство по программированию. Есть еще 3 свободных места! Жми для подробностей.

Функция catch

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

Синтаксис

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

Пример

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

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

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

'Caught exception: Something went wrong'

Пример

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

<?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(); } ?>

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

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

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

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