The InvalidArgumentException class

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

简介

Exception thrown if an argument is not of the expected type.

类摘要

InvalidArgumentException extends LogicException {
/* 继承的属性 */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* 继承的方法 */
public Exception::__construct ( string $message = "" , int $code = 0 , Throwable $previous = null )
final public Exception::getMessage ( ) : string
final public Exception::getPrevious ( ) : Throwable
final public Exception::getCode ( ) : mixed
final public Exception::getFile ( ) : string
final public Exception::getLine ( ) : int
final public Exception::getTrace ( ) : array
final public Exception::getTraceAsString ( ) : string
public Exception::__toString ( ) : string
final private Exception::__clone ( ) : void
}

User Contributed Notes

Joey at anti-culture dot net 02-Feb-2011 09:08
In my opinion this exception is invaluable for validating arguments- for example providing strict typing a la C:

<?php
function tripleInteger($int)
{
  if(!
is_int($int))
    throw new
InvalidArgumentException('tripleInteger function only accepts integers. Input was: '.$int);
  return
$int * 3;
}

$x = tripleInteger(4); //$x == 12
$x = tripleInteger(2.5); //exception will be thrown as 2.5 is a float
$x = tripleInteger('foo'); //exception will be thrown as 'foo' is a string
$x = tripleInteger('4'); //exception will throw as '4' is also a string

?>
PHP8中文手册 站长在线 整理 版权归PHP文档组所有