PHP Conference Japan 2024

InvalidArgumentException 类

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

简介

如果参数不是预期的类型,则抛出此异常。

类概要

class InvalidArgumentException extends LogicException {
/* 继承的属性 */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* 继承的方法 */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
}
添加注释

用户贡献的注释 1 条注释

Joey at anti-culture dot net
13 年前
在我看来,此异常对于验证参数非常宝贵——例如提供类似 C 语言的严格类型。

<?php
function tripleInteger($int)
{
if(!
is_int($int))
throw new
InvalidArgumentException('tripleInteger 函数只接受整数。输入为:'.$int);
return
$int * 3;
}

$x = tripleInteger(4); //$x == 12
$x = tripleInteger(2.5); //将抛出异常,因为 2.5 是浮点数
$x = tripleInteger('foo'); //将抛出异常,因为 'foo' 是字符串
$x = tripleInteger('4'); //将抛出异常,因为 '4' 也是字符串

?>
To Top