在我的IndexController indexAction中,我试图抛出并捕获异常,然后在catch块中,我想做一些事情,如下:
namespace Application\Controller;
use Zend\Mvc\Controller\AbstractActionController;
class IndexController extends AbstractActionController {
public function indexAction() {
try {
throw new \Exception('My exception error messag.');
} catch(Exception $e) {
echo '111';
exit;
}
}
}
抛出异常时,不是打印“111”并停止,而是使用我抛出的异常消息“我的异常错误”呈现视图“myproject / module / Application / src / view / error / index.phtml” messag”。如下面的截图:
我在“myproject / config / development.config.php”中发现我有这样的事情:
return [
'view_manager' => [
'display_exceptions' => true,
],
];
我尝试将其更改为false,我得到了输出:
这意味着它仍然显示错误/索引视图,但它不显示异常详细信息
我想要的只是“111”的输出。
答案 0 :(得分:1)
答案是@Gordon here。我不会删除这个问题并在这里回答,因为那个问题和答案是关于ZF2而这个是关于ZF3。
就像ZF2一样,问题与命名空间有关。
try {
throw new \Exception('My exception error messag.');
} catch(\Exception $e){// <<< Use \Exception instead of Exception
echo 111;
exit;
}
或者像Gordon说的那样,use \Exception;
位于文件顶部,因此我们可以用Exception替换\ Exception。