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 备注

16
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