An example:
<?php
function test($x):int {
return $x;
}
try {
test('ss');
}catch(TypeError $e){
echo "Error !";
}
(PHP 7, PHP 8)
Existem três cenários em que um TypeError pode ser lançado. O primeiro é quando o tipo do argumento passado a uma função não combina com o tipo do parâmetro declarado. O segundo é quando o valor retornado de uma função não combina com o tipo de retorno declarado. O terceiro é quando um número de argumentos inválidos são passados a uma função built-in do PHP (somente no modo restrito).
An example:
<?php
function test($x):int {
return $x;
}
try {
test('ss');
}catch(TypeError $e){
echo "Error !";
}
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();
}