CakeFest 2024: The Official CakePHP Conference

Исключение RangeException

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

Введение

Исключение выбрасывается, чтобы указать на ошибки диапазона во время выполнения программы. Обычно это означает, что допустили арифметическую ошибку, отличная от недополнения или переполнения. Это версия исключения DomainException для времени выполнения.

Обзор классов

class RangeException extends RuntimeException {
/* Наследуемые свойства */
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
}
add a note

User Contributed Notes 1 note

up
1
evguenia dot chagnon at gmail dot com
7 years ago
CF. DomainException : "DomainException corresponds to RangeException and we should use them in simillar situations. But first exception is designed to use when we are sure the problem is with our project, third-part elements etc. (simply: logical error), the second way is designed to use when we are sure the problem is with input data or environment (simply: runtime error)."

function divide($divident, $input) {
if(!is_numeric($divident) || !is_numeric($input)) {
throw new InvalidArgumentException("Function accepts only numeric values");
}
if($input == 0) {
throw new RangeException("Divisor must not be zero");
}
return $divident / $input;
}
To Top