【发布时间】:2015-07-13 09:42:07
【问题描述】:
php 中有两个类似的异常:RangeException 和UnexpectedValueException。两者都是RuntimeException 的子类。问题是,我看不出有什么不同。
RangeException
在程序执行期间抛出异常以指示范围错误。通常这意味着存在除下溢/溢出之外的算术错误。这是DomainException 的运行时版本。
UnexpectedValueException
如果一个值与一组值不匹配,则会引发异常。通常,当一个函数调用另一个函数并期望返回值是某种类型或值时,会发生这种情况,不包括算术或缓冲区相关的错误。
我知道这是一个运行时错误。如果变量类型错误,很简单,我应该使用UnexpectedValueException。
如果变量value出错了怎么办?
【问题讨论】:
-
这取决于它的错误方式......如果一个变量必须在一个设定的范围内(例如1-10)并且你得到
20或-10或0,那么你扔了一个RangeException;如果你得到ABC或NULL那么你抛出一个UnexpectedValueException