I'm calling a method that I know could cause an error and I'm trying to handle the error by wrapping the code in a try/catch statement...
class TestController extends Zend_Controller_Action { public function init() { // Anything here happens BEFORE the View has rendered } public function indexAction() { // Anything `echo`ed here is added to the end of the View $model = new Application_Model_Testing('Mark', 31); $this->view->sentence = $model->test(); $this->loadDataWhichCouldCauseError(); $this->loadView($model); // this method 'forwards' the Action onto another Controller } private function loadDataWhichCouldCauseError() { try { $test = new Application_Model_NonExistent(); } catch (Exception $e) { echo 'Handle the error'; } } private function loadView($model) { // Let's pretend we have loads of Models that require different Views switch (get_class($model)) { case 'Application_Model_Testing': // Controller's have a `_forward` method to pass the Action onto another Controller // The following line forwards to an `indexAction` within the `BlahController` // It also passes some data onto the `BlahController` $this->_forward('index', 'blah', null, array('data' => 'some data')); break; } } } ...but the problem I have is that the error isn't being handled. When viewing the application I get the following error...
( ! ) Fatal error: Class 'Application_Model_NonExistent' not found in /Library/WebServer/Documents/ZendTest/application/controllers/TestController.php on line 23 Can any one explain why this is happening and how I can get it to work?
Thanks