[英]Working of try / catch in ZF2
從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
}
錯誤 :致命錯誤:在第22行的C:\\ wamp \\ www \\ zf \\ module \\ Album \\ src \\ Album \\ Controller \\ AlbumController.php中找不到類'Album \\ Controller \\ Zend \\ Loader \\ Loader'顯示錯誤信息
編輯
但是當我按照以下代碼拋出異常時,我得到的消息是錯誤。
try { throw new \Exception("My exception"); } catch (Exception $e) { echo "Caught exception $e\n"; exit; }
這里有一些問題。 盡管有代碼示例,但該錯誤表明您正在使用ZF2。 並且該錯誤是PHP致命錯誤,而不是異常,這就是為什么您的try / catch無法正常工作的原因。 ZF2中沒有Zend_Loader
,因此PHP將無法找到它。
我建議只使用標准的PHP函數class_exists()
代替:
if (class_exists('Some\Class')) {
...
} else {
...
}
這應該可以讓您實現想要做的事情。 無需擔心異常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.