3

如果一个类不存在,你应该抛出哪个PHP SPL 异常?ZF2 编码标准的范围内例外

在标准中,它说异常应该从PHP 的 SPL Exceptions之一扩展。我的第一个猜测是它是某种 RuntimeException。

PHP SPL 异常

4

2 回答 2

2

取决于您的应用程序的上下文。

如果您将类名作为方法参数接收并且您尝试在同一方法中加载该类,那么您应该使用 InvalidArgumentException 异常。

如果您从字段值或方法接收类名,那么您应该使用 RuntimeException

于 2012-09-09T09:57:51.327 回答
-1

如果自动加载不存在 PHP 会吐出 RunTimeException 对吗?所以如果你的加载器没有找到类,它应该做同样的事情。(如果你正在编写自己的自动加载器)基于 ZF2 编码标准,它应该抛出一个 RunTimeException,它位于加载器的异常命名空间内。

因此,如果您的加载程序在 My\Loader 中,那么您的运行时异常将在 My\Loader\Exception\RunTimeException 中。

于 2012-08-13T21:15:15.327 回答