[英]How to catch exceptions in your ZF2 controllers?
我用ZF 2.0.3
設置了ZendSkeletonApplication ,我無法在控制器中捕獲異常。 例如,如果我將下面的代碼放在module/Application/src/Application/Controller/IndexController.php
:
public function indexAction() {
echo "BEFORE\n";
try {
throw new \Exception("My exception");
} catch (Exception $e) {
echo "Caught exception $e\n";
exit;
}
並訪問我得到的頁面:
BEFORE
An error occurred
An error occurred during execution; please try again later.
Additional information:
Exception
File:
module/Application/src/Application/Controller/IndexController.php:25
Message:
My exception
ViewModel
啟動並顯示異常,有效地阻止我捕獲它。
如何在ZF2
控制器中捕獲異常?
你正在拋出PHP的通用異常
throw new \Exception("My exception");
但是你從當前的命名空間中捕獲了Exception
} catch (Exception $e) {
假設您的控制器在Application\\Controller
,您必須聲明
use \Exception;
在您的類之上, 將全局Exception導入當前命名空間或
} catch (\Exception $e) {
捕獲PHP的全局異常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.