Better handling of missing emergency_exit.ctp
authorRoland Häder <roland@mxchange.org>
Tue, 18 May 2010 16:31:23 +0000 (16:31 +0000)
committerRoland Häder <roland@mxchange.org>
Tue, 18 May 2010 16:31:23 +0000 (16:31 +0000)
index.php

index 4cef375..3b7f082 100644 (file)
--- a/index.php
+++ b/index.php
@@ -132,29 +132,35 @@ final class ApplicationEntryPoint {
                                $templateInstance->assignApplicationData($appInstance);
                        } // END - if
 
-                       // Assign variables
-                       $templateInstance->assignVariable('message', $message);
-                       $templateInstance->assignVariable('code', $code);
-                       $templateInstance->assignVariable('extra', $extraData);
-                       $templateInstance->assignVariable('backtrace', $backtrace);
-                       $templateInstance->assignVariable('total_includes', ClassLoader::getInstance()->getTotal());
-                       $templateInstance->assignVariable('total_objects', ObjectFactory::getTotal());
-                       $templateInstance->assignVariable('title', $languageInstance->getMessage('emergency_exit_title'));
-
-                       // Load the template
-                       $templateInstance->loadCodeTemplate('emergency_exit');
-
-                       // Compile the template
-                       $templateInstance->compileTemplate();
-
-                       // Compile all variables
-                       $templateInstance->compileVariables();
-
-                       // Transfer data to response
-                       $templateInstance->transferToResponse($responseInstance);
-
-                       // Flush the response
-                       $responseInstance->flushBuffer();
+                       // We only try this
+                       try {
+                               // Assign variables
+                               $templateInstance->assignVariable('message', $message);
+                               $templateInstance->assignVariable('code', $code);
+                               $templateInstance->assignVariable('extra', $extraData);
+                               $templateInstance->assignVariable('backtrace', $backtrace);
+                               $templateInstance->assignVariable('total_includes', ClassLoader::getInstance()->getTotal());
+                               $templateInstance->assignVariable('total_objects', ObjectFactory::getTotal());
+                               $templateInstance->assignVariable('title', $languageInstance->getMessage('emergency_exit_title'));
+
+                               // Load the template
+                               $templateInstance->loadCodeTemplate('emergency_exit');
+
+                               // Compile the template
+                               $templateInstance->compileTemplate();
+
+                               // Compile all variables
+                               $templateInstance->compileVariables();
+
+                               // Transfer data to response
+                               $templateInstance->transferToResponse($responseInstance);
+
+                               // Flush the response
+                               $responseInstance->flushBuffer();
+                       } catch (FileIoException $e) {
+                               // Even the template 'emergency_exit' wasn't found so output both message
+                               die($message . ', exception: ' . $e->getMessage());
+                       }
 
                        // Good bye...
                        exit();