An example:
<?php
function test($x):int {
return $x;
}
try {
test('ss');
}catch(TypeError $e){
echo "Error !";
}
(PHP 7)
Zachodzą trzy scenariusze, w których może zostać rzucony TypeError. Pierwszy to typ parametru przekazanego do funkcji niezgodny z zadeklarowanym typem dla tego parametru. Drugi ma miejsce gdy typ zwracany przez funkcję nie pasuje do zadeklarowanego typu zwracanego przez funkcję. Trzecia możliwość to przekazanie nieprawidłowej liczby argumentów do wbudowanej funkcji PHP (tylko w trybie ścisłym).
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();
}