Вы можете обернуть $request->execute()
в свой APPPATH/bootstrap.php
блоком try / catch, а затем делать все, что захотите.
Моя выглядит так ...
try
{
// Attempt to execute the response
$request->execute();
}
catch (Kohana_Request_Exception $e)
{
if (Kohana::$environment === Kohana::DEVELOPMENT) throw $e;
// Log the error
Kohana::$log->add(Kohana::ERROR, Kohana::exception_text($e));
// Create a 404 response
$request->status = 404;
$request->response = Request::factory('errors/404')->execute();
}
catch (Exception $e)
{
if (Kohana::$environment === Kohana::DEVELOPMENT) throw $e;
// Log the error
Kohana::$log->add(Kohana::ERROR, Kohana::exception_text($e));
// Create a 500 response
$request->status = 500;
$request->response = Request::factory('errors/500')->execute();
}
В идеале PHP должен поддерживать finally { ... }
, и я мог бы вести там запись и, возможно, перебрасывать туда, но что вы можете сделать?