我目前正在开发一个Laravel项目,我有一些代码,如果找不到给定类型的类,我想抛出异常。
$className = $type . 'Field';
if (!class_exists($className))
{
// Throw exception
}
但是我的IDE(IntelliJ)让我自动完成3个不同的类,这些类属于不同的包,它们都具有相同的名称。
Prophecy\Exception\Doubler\ClassNotFoundException
Symfony\Component\Debug\Exception\ClassNotFoundException
PhpSpec\Exception\Fracture\ClassNotFoundException
这些以及我应该在这种情况下使用哪一个以及为什么之间有什么区别?
答案 0 :(得分:3)
您应该使用Symfony\Component\Debug\Exception\ClassNotFoundException
。
其他两个异常处理是针对PhpSpec(测试)和Prophecy(针对phpspec的模拟框架)。
由于您尝试为ClassNotFound
抛出异常,因此您应该使用Symfony异常处理程序。