【问题标题】:PHP: What SPL exception should I do if a variable value is wrong?PHP:如果变量值错误,我应该做什么 SPL 异常?
【发布时间】:2015-07-13 09:42:07
【问题描述】:

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

RangeException
在程序执行期间抛出异常以指示范围错误。通常这意味着存在除下溢/溢出之外的算术错误。这是DomainException 的运行时版本。

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

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

如果变量value出错了怎么办?

【问题讨论】:

  • 这取决于它的错误方式......如果一个变量必须在一个设定的范围内(例如1-10)并且你得到20-100,那么你扔了一个RangeException;如果你得到ABCNULL 那么你抛出一个UnexpectedValueException

标签: php exception spl


【解决方案1】:

看来最好还是留在UnexpectedValueException

  1. 我没有找到任何约定。
  2. unexpected value 是对程序员更好的描述。
  3. 如果有特殊的恢复码,自定义异常会更好。

【讨论】:

    猜你喜欢
    • 2011-03-11
    • 1970-01-01
    • 1970-01-01
    • 2010-11-20
    • 2021-01-06
    • 2011-05-25
    • 1970-01-01
    • 2011-01-25
    • 2011-08-28
    相关资源
    最近更新 更多