一、简介
PHP TypeError是指在PHP代码中出现的类型错误。当使用一个不兼容的类型或者变量的类型与所期望的类型不匹配时,就会抛出TypeError异常。当尝试将一个变量赋予一个不兼容的类型,或者将一个不兼容的类型传递给一个函数或方法时,就可能发生类型错误。
以下三种情况会抛出TypeError 的情况:
1、为类属性设置的值与该属性申明的类型不匹配。
2、传递给函数的参数类型与函数预期声明的参数类型不匹配。
3、函数返回的值与声明的函数返回类型不匹配。
例如,如果一个函数期望接收一个整数作为参数,但实际传递了一个字符串,就会引发TypeError异常。类似地,如果一个变量被声明为一个特定类型的对象,但实际赋值为一个不兼容的对象或其他类型的值,也会引发TypeError异常。
PHP .1.0版本后,当在严格模式下向内置 PHP 函数传递无效数量的参数时,不再抛出 TypeError。 相反,会抛出 ArgumentCountError。
二、类摘要
class TypeError extends Error { /* 继承的属性 */ protected string $message = ""; private string $string = ""; protected int $code; protected string $file = ""; protected int $line; private array $trace = []; private ?Throwable $previous = null; /* 继承的方法 */ public Error::__construct(string $message = "", int $code = 0, ?Throwable $previous = null) final public Error::getMessage(): string final public Error::getPrevious(): ?Throwable 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 private Error::__clone(): void }