PHP 8.1.0 Alpha 1 available for testing

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 ( ) : int
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
}
add a note add a note

User Contributed Notes 2 notes

up
0
celsowmbr at outlook dot com
2 years 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
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();

}
To Top