在我的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“并停止,而是呈现带有异常消息"My exception error messag”的视图"myproject/module/Application/src/view/error/index.phtml“。如下截图所示:

我在"myproject/config/development.config.php“中发现我有这样的东西:
return [
'view_manager' => [
'display_exceptions' => true,
],
];我尝试将其更改为false,得到了输出:

这意味着它仍然显示错误/索引视图,但不显示异常详细信息
我想要的只是一个"111“的输出。
发布于 2017-09-28 16:32:39
答案是@Gordon here。我不会在这里删除这个问题和答案,因为这个问题和答案是关于ZF2的,而这个问题和答案是关于ZF3的。
就像ZF2一样,问题与名称空间有关。
try {
throw new \Exception('My exception error messag.');
} catch(\Exception $e){// <<< Use \Exception instead of Exception
echo 111;
exit;
}或者像戈登说的那样,在文件的顶部出现异常,这样我们就可以用use \Exception;替换\Exception。
https://stackoverflow.com/questions/46464089
复制相似问题