Php Silex异常处理程序

Php Silex异常处理程序,php,symfony,silex,Php,Symfony,Silex,我有一个大问题,我不知道为什么silex异常处理程序不能捕获异常 我的简单代码如下所示: <?php use Silex\Application; use Silex\Provider\ValidatorServiceProvider; use Silex\Provider\FormServiceProvider; use Symfony\Component\HttpFoundation\Request; $app = new Application(); // SPL Logic

我有一个大问题,我不知道为什么silex异常处理程序不能捕获异常

我的简单代码如下所示:

<?php

use Silex\Application;

use Silex\Provider\ValidatorServiceProvider;
use Silex\Provider\FormServiceProvider;
use Symfony\Component\HttpFoundation\Request;

$app = new Application();

// SPL Logic Exceptions
// Handle other exception as 500 errors
$app->error(function (\Exception $e, $code) {
exit('asd');
});
throw new Exception('test');
return $app;

错误
侦听器只能捕获从控制器或
中间件之前的
引发的异常。下面是一个有效的示例:

$app = new Silex\Application();

$app->error(function (\Exception $e, $code) {
    exit('asd');
});

$app->before(function ($request) {
    throw new Exception('test');
});

$app->run();

您是否也尝试在操作中抛出异常?我认为正常请求处理(
$app->run()
)之外的异常不会被捕获。@Maerlyn是对的,您的异常不会在前端控制器中被捕获。但是,在源代码中会捕获异常。