PHP:如果变量值是错误的,我应该做什么SPL异常



php中有两个类似的异常:RangeException和expectedvalueexception。两者都是RuntimeException的子类。问题是,我看不出有什么不同。

RangeException
在程序执行期间引发异常,以指示范围错误。通常这意味着存在算术错误而不是under/overflow。这是DomainException的运行时版本。

UnexpectedValueException
如果一个值与一组值不匹配,则引发异常。通常,当一个函数调用另一个函数并期望返回值是特定类型或值,不包括算术或缓冲区相关错误时,就会发生这种情况。

我知道这是运行时错误。如果变量类型是错误的,这很简单,我应该使用UnexpectedValueException。

如果变量是错误的,我该怎么办?

看来还是用UnexpectedValueException比较好。

  1. 我没有发现任何约定。
  2. 意外值对程序员来说是更好的描述。
  3. 如果有一个特殊的恢复代码,一个自定义异常会更好。

最新更新