РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
949 of 1392 menu

Функция throw_if

Функция throw_if применяется для генерации исключения, если переданное условие истинно. Первым параметром передаётся условие, вторым - исключение или его сообщение, третьим - дополнительные данные для исключения. Если условие ложно, функция возвращает переданное значение.

Синтаксис

<?php throw_if($condition, $exception, $data); ?>

Пример

Давайте проверим, что значение переменной 'age' меньше 18, и выбросим исключение с сообщением:

<?php $age = 15; $res = throw_if($age < 18, new Exception('Access denied: age must be 18 or older')); echo "User is adult: " . $age; ?>

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

"Exception: Access denied: age must be 18 or older"

Пример

Давайте проверим, что массив пустой, и выбросим исключение:

<?php $items = []; $res = throw_if(empty($items), new InvalidArgumentException('Array cannot be empty')); echo "Process items..."; ?>

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

"InvalidArgumentException: Array cannot be empty"

Пример

Давайте передадим третьим параметром дополнительные данные для исключения:

<?php $userInput = 120; $limit = 100; $res = throw_if( $userInput > $limit, new OutOfRangeException('Value exceeds limit'), ['limit' => $limit, 'input' => $userInput] ); echo "Processing value: " . $userInput; ?>

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

"OutOfRangeException: Value exceeds limit"

Пример

Если условие ложно, функция возвращает переданное значение:

<?php $value = 42; $res = throw_if($value > 100, new Exception('Value is too large')); echo "Returned: " . $res; ?>

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

"Returned: 42"

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

  • функция throw_unless,
    которая генерирует исключение, если условие ложно
  • функция report_if,
    которая условно отправляет отчёт об ошибке
  • функция rescue,
    которая выполняет код и перехватывает исключения
  • функция report,
    которая отправляет отчёт об исключении
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить