TypeError

(PHP 7)

Введение

Есть три сценария, в которых будет выброшено исключение TypeError. Первый - тип аргумента, переданный функции, не соответствует типу, объявленному в функции для этого аргумента. Второй - тип возвращенного функцией значения не соответствует типу возврата, объявленному в функции. Третий - встроенной функции PHP было передано неверное количество аргументов (только для режима strict).

Обзор классов

TypeError extends Error {
/* Наследуемые свойства */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Наследуемые методы */
final public Error::getMessage ( void ) : string
final public Error::getPrevious ( void ) : Throwable
final public Error::getCode ( void ) : mixed
final public Error::getFile ( void ) : string
final public Error::getLine ( void ) : int
final public Error::getTrace ( void ) : array
final public Error::getTraceAsString ( void ) : string
public Error::__toString ( void ) : string
final private Error::__clone ( void ) : void
}
add a note add a note

User Contributed Notes 2 notes

up
3
celsowmbr at outlook dot com
8 months ago
An example:

<?php

function test($x):int {
    return
$x;
}

try {
   
test('ss');
}catch(
TypeError $e){
    echo
"Error !";
}
up
1
andrian dot test dot job at gmail dot com
16 days 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();

}
To Top