在我看来,这个异常对于验证参数是无价的——例如提供类似于 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' 也是一个字符串
?>