SunshinePHP 2020 CFP Started

RangeException クラス

(PHP 5 >= 5.1.0, PHP 7)

はじめに

プログラムの実行時に範囲エラーが発生したことを示すときにスローされる例外です。 通常は、アンダーフローやオーバーフロー以外の計算エラーが発生したことを意味します。 これは、実行時版の DomainException です。

クラス概要

RangeException extends RuntimeException {
/* 継承したプロパティ */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* 継承したメソッド */
final public Exception::getMessage ( void ) : string
final public Exception::getPrevious ( void ) : Exception
final public Exception::getCode ( void ) : mixed
final public Exception::getFile ( void ) : string
final public Exception::getLine ( void ) : int
final public Exception::getTrace ( void ) : array
final public Exception::getTraceAsString ( void ) : string
public Exception::__toString ( void ) : string
final private Exception::__clone ( void ) : void
}
add a note add a note

User Contributed Notes 1 note

up
1
evguenia dot chagnon at gmail dot com
2 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