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

Команда throw

Команда throw используется для явного выброса исключения в PHP. Она принимает один параметр - объект исключения, который должен быть экземпляром класса, унаследованного от базового класса Exception. При вызове этой функции выполнение текущего кода немедленно прекращается, и PHP пытается найти соответствующий блок catch для обработки исключения.

Синтаксис

throw new ExceptionClass(message, code, previous);

Пример

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

<?php $age = -5; if ($age < 0) { throw new Exception('Age cannot be negative'); } ?>

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

Fatal error: Uncaught Exception: Age cannot be negative

Пример

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

<?php try { $res = 10 / 0; if (is_infinite($res)) { throw new Exception('Division by zero'); } } catch (Exception $e) { echo 'Error: ' . $e->getMessage(); } ?>

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

'Error: Division by zero'

Пример

Использование пользовательского исключения:

<?php class MyCustomException extends Exception {} try { throw new MyCustomException('Custom error message'); } catch (MyCustomException $e) { echo 'Custom error caught: ' . $e->getMessage(); } ?>

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

'Custom error caught: Custom error message'

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

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