我目前正在开发一个实现前端控制器模式的MVC应用程序。
这个过程是这样的:
有一种特殊情况(对于ajax和flash前端):
exit()
; 我创建了一个ExceptionHandler
类,并将其注册到set_exception_handler
。在我创建ErrorHandler
并使用set_error_handler
的同时,所有错误都会被转换并作为异常抛出。
所有这些都很有效。然而,当ExceptionHandler
捕获其中一个异常时,我正在努力解决这个问题。在ExceptionHandler
中,修改了ResponseObject以反映我们需要抛出500错误的事实。
我想以某种方式从ExceptionHandler
返回ResponseObject,这样返回的ResponseObject可以被调度程序“捕获”,然后由“端点”控制器或“或”转换为JSON或AMF响应。前面的“控制器。
这可能吗?如果是这样,最好的方法是什么?
答案 0 :(得分:0)
这是不可能的。如http://php.net/set_exception_handler
所述执行将在调用exception_handler之后停止。
正确的方法是将try-catch
块添加到调度程序,以及调用控制器调度方法的位置。