当期望的数组元素没有正确的值时的内置PHP异常


Built-in PHP exception for when expected array element does not have the correct value?

当数组包含一个不正确的关联值时,是否有合适的标准PHP异常可以使用?

例如,我有一个方法,它采用一组"配置"参数。对这些参数进行验证,以检查所需的参数是否存在以及它们的类型是否正确。如果任何必需的参数不正确或丢失,则会引发异常。

我想知道,如果存在的话,最合适的标准例外是什么。

注意

  • 数组键可能丢失,或者可能存在,但值不正确。

  • 数组值可以是任何类型。

我倾向于UnexpectedValueException

OutOfBoundsException怎么样?

http://php.net/manual/en/class.outofboundsexception.php

如果值不是有效的键,则引发异常。这表示错误在编译时无法检测到。

BadMethodCallException包含方法调用的无效或丢失的参数。这对你的例子来说是最有意义的。

我选择了DomainException,我认为这是最合适的。

如果值不符合定义的有效数据域,则引发异常。