从zend文档中我了解到try catch可以实现。当我使用zend异常时,即使尝试正在工作也无法捕获
try {
loadClass() with a non-existant class will cause an exception
to be thrown in Zend_Loader:
Zend_Loader::loadClass('nonexistantclass');
} catch (Zend_Exception $e) {
echo "Caught exception";
// Other code to recover from the error
}
错误:致命错误:Class' Album \ Controller \ Zend \ Loader \ Loader'在第22行的C:\ wamp \ www \ zf \ module \ Album \ src \ Album \ Controller \ AlbumController.php中找不到 没有发生捕获错误消息正在显示
修改
但是当我按照以下代码抛出异常时,我将消息视为错误。
try { throw new \Exception("My exception"); } catch (Exception $e) { echo "Caught exception $e\n"; exit; }
答案 0 :(得分:1)
这里有一些问题。尽管您的代码示例,但错误表明您使用ZF2 ;并且错误是PHP致命错误,不是例外,这就是你的try / catch不起作用的原因。 ZF2中没有Zend_Loader
,因此PHP无法找到它。
我建议只使用标准PHP函数class_exists()
:
if (class_exists('Some\Class')) {
...
} else {
...
}
应该让你实现你想要做的事情。无需担心异常。