Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
TypeError
(PHP 7, PHP 8)
Введение
Есть три сценария, в которых будет выброшено исключение TypeError:
- тип аргумента, переданный функции, не соответствует типу, объявленному в функции для этого аргумента.
- Тип возвращённого функцией значения не соответствует типу возврата, объявленному в функции.
- Встроенной функции PHP было передано неверное количество аргументов (только для режима strict).
Обзор классов
TypeError extends Error {
/* Наследуемые свойства */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Наследуемые методы */
final public Error::getMessage ( ) : string
final public Error::getPrevious ( ) : Throwable|null
final public Error::getCode ( ) : mixed
final public Error::getFile ( ) : string
final public Error::getLine ( ) : int
final public Error::getTrace ( ) : array
final public Error::getTraceAsString ( ) : string
public Error::__toString ( ) : string
final private Error::__clone ( ) : void
}
An example:
<?php
function test($x):int {
return $x;
}
try {
test('ss');
}catch(TypeError $e){
echo "Error !";
}
-1
andrian dot test dot job at gmail dot com ¶1 year ago
declare(strict_types=1); //if without this line the result is different
$a = [1,2=>[3,4]];
try{
count($a, COUNT_RECURSIVE, 'toto and blabla');
}catch(TypeError $e){
echo $e->getMessage();
}
Смотрите также:
Описание на ru2.php.net
Описание на php.ru