我有一个大问题我不知道为什么异常不会被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;
结果是:
致命错误:未捕获的异常'异常',消息'test'
答案 0 :(得分:11)
error
侦听器只能捕获从控制器或before
中间件中抛出的异常。这是一个有效的例子:
$app = new Silex\Application();
$app->error(function (\Exception $e, $code) {
exit('asd');
});
$app->before(function ($request) {
throw new Exception('test');
});
$app->run();