在我看来,此异常对于验证参数非常宝贵——例如提供类似 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' 也是字符串
?>