TypeError
Ошибка несоответствия типа аргумента или результата.
Синтаксис
catch (TypeError $e) { … }Возвращаемое значение
TypeErrorОбъект ошибки.
Примеры
Массив вместо строки:
<?php
function shout(string $text): string
{
return strtoupper($text) . '!';
}
try {
echo shout(['hi']);
} catch (TypeError $e) {
echo 'Wrong type';
}Результат:
Wrong typeПримечания
С declare(strict_types=1) ошибка возникает и при передаче числа вместо строки. Без него PHP пытается преобразовать значение сам.
См. также
- Error — Базовый класс внутренних ошибок PHP.
- Throwable — Общий интерфейс всего, что можно бросить и поймать.
- InvalidArgumentException — Исключение для неверного аргумента функции.
В учебнике
- Система типов — Типы в современном PHP — строгий режим strict_types, nullable и объединённые типы, void, never и типизированные свойства.