International PHP Conference Berlin 2025

The RangeException class

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

Introduction

Exception thrown to indicate range errors during program execution. Normally this means there was an arithmetic error other than under/overflow. This is the runtime version of DomainException.

Class synopsis

class RangeException extends RuntimeException {
/* 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::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
2
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