CascadiaPHP 2024

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
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