我正在从Symfony2中的事件监听器中听kernel.exception
我需要吞下异常,只需添加FlashBag
消息,让控制器继续正常运行
这可能吗?怎么样?
答案 0 :(得分:1)
这就是无效的例外情况。一旦你最终进入该处理程序,你就无法回到你的控制器。但是,您可以打包生成Exception
s的单个调用:
# Controller's code prior to error
try {
# Code that could trigger exception
}catch(\Exception $e){
# Add message to FlashBag
}
# Controller's code after the error
但你必须考虑前进的有效性。如果抛出Exception
,则意味着某些操作无法成功完成。您最终会遗漏一些数据(或无效)并产生一些逻辑错误。
如果您决定这样做,您应该始终在try-catch
之前或catch
块之内指定一些默认值。
希望这会有所帮助......