I was going through the list of predefined Exceptions in PHP and I noticed the DomainException. Anyone know what does DomainException mean? Does it mean failed data model validation?
This kind of exception should be used to inform about domain errors in mathematical sense.
See domain of a function.
For example, the square root function will only be defined for positive numbers (unless you're using complex numbers...)
There's a pretty hilarious discussion here about how no one seems to know what is means:
http://bugs.php.net/bug.php?id=47097
From the end of that link:
Domain means data domain here. That is a DomainException shall be through whenever a value does not adhere to a defined valid data domain. Examples: - 0 is not a in the domain for division. - Foo is not in the domain for weekdays.
The first is different from out of range and alike, but you could use InvalidParameter in case it is actually a parameter to the function that performs the division. If it is a value calculated inside the function prior to executing the division and then a pre-conditon check throws instead of executing the division, then it becomes a DomainException.