PHP Conference Japan 2024

Исключение 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 note

up
16
Joey at anti-culture dot net
13 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

?>
To Top