重定向codeigniter中的错误

时间:2012-04-17 05:28:36

标签: codeigniter error-handling codeigniter-2

我希望将所有codeigniter错误重定向到自定义错误页面。我用$route['404_override'] = 'errorcontroller';重定向了404错误如何重定向所有其他错误,如db和php

1 个答案:

答案 0 :(得分:1)

您始终可以使用try和catch块,然后重定向到自定义错误页面。但是根据你的问题,你应该考虑一些事情。

  1. 重定向将发出一个全新的请求,该请求通过发送到浏览器的标头来完成。因此,除非您将该消息保存在会话中,否则您将无法显示错误消息。

  2. 有些错误导致PHP抛出异常而其他错误则不然。某些数据库交互错误仅引发PHP警告或错误。 PHP执行可能会暂停,但不会抛出任何异常。在这种情况下,即使将代码包装在try catch中也不会有任何帮助。但是,您可以创建自定义错误处理程序并通知PHP使用该处理程序。然后在自定义错误处理程序中,您可以自由地抛出异常或重定向到错误页面。

  3. 您也可以使用.htaccess强制重定向到您在特定标题代码[404,304,500]等处设置的页面

  4. 希望这有帮助!