类型错误

(PHP 7, PHP 8)

简介

当以下情况发生时,可能会抛出 TypeError

  • 为类属性设置的值与属性对应的声明类型不匹配。
  • 传递给函数的参数类型与其对应的声明参数类型不匹配。
  • 从函数返回的值与声明的函数返回类型不匹配。

类概要

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::getCode(): int
final public Error::getFile(): string
final public Error::getLine(): int
final public Error::getTrace(): array
private Error::__clone(): void
}

变更日志

版本 描述
7.1.0 在严格模式下,当向内置 PHP 函数传递无效数量的参数时,不再抛出 TypeError。而是会引发 ArgumentCountError
添加备注

用户贡献笔记 1 条笔记

-3
celsowmbr at outlook dot com
5 年前
一个例子

<?php

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

try {
test('ss');
}catch(
TypeError $e){
echo
"Error !";
}
To Top