正如标题所说,我希望在重定向之前得到所有错误。所以这是我的情况:
我有一个选择更改数据库(相同的结构,但不同的数据);
所以我要说我在这里:localhost/user/edit/id/100 (database 1)
在db更改时,我将用户重定向到同一页面,但我们从数据库2加载数据。
如果找不到,我收到错误:
"Fatal error: Call to a member function on a non-object ..."
如何在重定向发生之前捕获错误以更改网址? 谢谢!
答案 0 :(得分:0)
在重定向之前使用try {} catch() {}来捕获错误。
try {
if (/* if error occured */) {
throw new \Exception('Error occured');
}
} catch(\Exception $e) {
// redirect with error occured
}
// redirect without error
在Zend中可能需要使用return $redirectObj
,我不太了解Zend。
在您的情况下,请尝试执行此操作:
try {
if ( ! $this->getResponse()) {
throw new Exception('Error occured! Can not get response object');
}
return $this->getResponse()->setRedirect($url);
} catch (Exception $e) {
echo $e->getMessage();
die();
}