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