PHP 8.5.0 Beta 3 available for testing

The InvalidArgumentException class

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

Introduction

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

Class synopsis

class InvalidArgumentException extends LogicException {
/* Inherited properties */
protected string $message = "";
private string $string = "";
protected int $code ;
protected string $file = "";
protected int $line ;
private array $trace = [];
private ?Throwable $previous = null;
/* Inherited methods */
public Exception::__construct (string $message = "", int $code = 0, ? Throwable $previous = null )
final public Exception::getMessage (): string
final public Exception::getCode (): int
final public Exception::getFile (): string
final public Exception::getLine (): int
final public Exception::getTrace (): array
}

Found A Problem?

Learn How To Improve This PageSubmit a Pull RequestReport a Bug
+add a note

User Contributed Notes 1 note

up
11
Joey at anti-culture dot net
14 years ago
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

?>
+add a note

AltStyle によって変換されたページ (->オリジナル) /