Php Silex:调用$app->;中间件中的abort()返回500

Php Silex:调用$app->;中间件中的abort()返回500,php,pdo,silex,Php,Pdo,Silex,我不想使用条令等,所以,我只是使用PDO。问题是我不知道如何处理异常:调用$app->abort来显示它在路由之外不起作用 <?php require_once __DIR__.'/../vendor/autoload.php'; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Request; $app = new Silex\Application(); //

我不想使用条令等,所以,我只是使用PDO。问题是我不知道如何处理异常:调用
$app->abort
来显示它在路由之外不起作用

<?php

require_once __DIR__.'/../vendor/autoload.php'; 
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;

$app = new Silex\Application();

//PDO
try {
    $DBH = new PDO($PartCCTV_ini['db']['dsn'], $PartCCTV_ini['db']['user'], $PartCCTV_ini['db']['password']);
}
catch(PDOException $e) {
    $app->abort(500, 'PDO Error : '.$e->getMessage());            
} 

...

$app->run()

?>


“Kolkhoz风格”(俄语),但它很管用

你期望得到什么结果?顺便问一下,为什么您要在应用程序之外执行此操作,而不是为此创建服务?@dragoste,错误页面,退出代码500和解释。我认为编写服务会花费太多时间。只需返回适当的头,如
header('HTTP/1.1500内部服务器错误')
然后您也可以发布500错误页面的任何html内容。但你们不能在这里使用Silex应用程序,因为你们是在它启动之前使用的。那个么特殊数组用于异常呢?如果数组中有任何错误,Silex可以解析它并显示错误页面吗?
//PDO
try {
    $DBH = new PDO($PartCCTV_ini['db']['dsn'], $PartCCTV_ini['db']['user'], $PartCCTV_ini['db']['password']);
}
catch(PDOException $e) {
    $Exception = $e->getMessage();    
    $app->before(function () use($Exception) {
        throw new PDOException($Exception);
    });
}