如果一个类不存在,你应该抛出哪个 PHP SPL 异常?在 ZF2 异常编码标准的上下文中。
在标准中,它说异常应该从PHP的SPL异常之一扩展。我的第一个猜测是它是某种运行时异常。
PHP SPL 例外
取决于应用程序的上下文。
如果您以方法参数的形式接收类名,并且尝试在同一方法中加载该类,则应使用 InvalidArgumentException 异常。
如果从字段值或方法接收类名,则应使用 RuntimeException
如果autoload不存在,PHP会吐出一个RunTimeException,对吗?因此,如果您的加载器找不到该类,则应执行相同的操作。 (那是如果您正在编写自己的自动加载器) 根据 ZF2 编码标准,它应该抛出一个 RunTimeException,该异常位于加载器的异常命名空间内。
因此,如果您的加载器位于 My''Loader 中,那么您的运行时异常将在 My''Loader''Exception''RunTimeException 中。