有人可以帮我解决如何在Laravel 4.2中捕获PDO异常吗?我可以在/app/start/global.php中使用App :: error和App :: fatal捕获致命或运行时异常,但无法以任何方式捕获PDO异常。我不想篡改Laravel基类。我尝试注册全局异常处理程序但是效果不佳。目前我在global.php中有以下代码
App::error(function(Exception $exception, $code)
{
Log::error($exception);
return Response::view("errors.{$code}", array(), $code);
});
App::error(function(RuntimeException $exception)
{
Log::error($exception);
return Response::view("errors.500", array(), 500);
});
App::fatal(function($exception)
{
header("HTTP/1.1 500 Internal Server Error");
echo '<center><h3>Sorry! Something is wrong with this request!</h3></center>';
exit;
});
App::error(function(InvalidUserException $exception)
{
Log::error($exception);
return Response::view('errors.401', array(), 401);
});
如何在此处或任何地方添加PDOException块?
提前致谢。
答案 0 :(得分:0)
我想简单地将PDOException传递给你的闭包会捕获错误,如:
App::error(function(\PDOException $exception)
{
Log::error($exception);
return Response::view('errors.401', array(), 401);
});