Существует два аналогичных исключения в php: RangeException и UnexpectedValueException. Оба являются подклассами RuntimeException. Проблема в том, что я не вижу большой разницы.PHP: Какое исключение SPL следует делать, если значение переменной неверно?
RangeException
Исключение брошено, чтобы указать ошибки диапазона во время выполнения программы. Обычно это означает, что была арифметическая ошибка, отличная от/переполнения. Это версия времени исполнения DomainException.
UnexpectedValueException
Исключение генерируется, если значение не совпадает с набором значений. Обычно это происходит, когда функция вызывает другую функцию и ожидает, что возвращаемое значение будет иметь определенный тип или значение, не считая ошибки, связанные с арифметикой или буфером.
Я знаю, что это ошибка времени выполнения. Если тип переменной неверен, это просто, я должен использовать UnexpectedValueException.
Что делать, если переменная значение не так ли?
Это зависит от того, как это неправильно. Если переменная должна находиться в пределах заданного диапазона (например, 1-10), и вы получаете '20' или' -10' или '0', тогда вы бросаете «RangeException»; если вы получаете 'ABC' или' NULL', тогда вы бросаете 'UnexpectedValueException' –