* @version 0.0.0 * @copyright Copyright (c) 2007, 2008 Roland Haeder, this is free software * @license GNU GPL 3.0 or any newer version * @link http://www.ship-simu.org * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ // Our own exception handler function __exceptionHandler (FrameworkException $e) { // Call the app_die() method ApplicationEntryPoint::app_die(sprintf("[Main:] The application %s (%s) has terminated due to a thrown exception: %s [%s]: %s Backtrace:
%s
", ApplicationHelper::getInstance()->getAppName(), ApplicationHelper::getInstance()->getAppShortName(), $e->__toString(), $e->getHexCode(), $e->getMessage(), $e->getPrintableBackTrace() ), $e->getHexCode(), $e->getExtraData() ); } // END - function // Set the new handler set_exception_handler('__exceptionHandler'); // Error handler function __errorHandler ($errno, $errstr, $errfile, $errline, array $errcontext) { // Construct the message $message = sprintf("File: %s, Line: %s, Code: %s, Message: %s", basename($errfile), $errline, $errno, $errstr ); // Throw an exception here throw new FatalErrorException($message, BaseFrameworkSystem::EXCEPTION_FATAL_ERROR); } // END - function // Set error handler set_error_handler('__errorHandler'); // Assertion handler function __assertHandler ($file, $line, $code) { // Empty code? if ($code === "") $code = "Unknown"; // Create message $message = sprintf("File: %s, Line: %s, Code: %s", basename($file), $line, $code ); // Throw an exception here throw new AssertionException($message, BaseFrameworkSystem::EXCEPTION_ASSERTION_FAILED); } // END - function // Init assert handling assert_options(ASSERT_ACTIVE, 1); assert_options(ASSERT_WARNING, 0); assert_options(ASSERT_BAIL, 0); assert_options(ASSERT_QUIET_EVAL, 0); assert_options(ASSERT_CALLBACK, '__assertHandler'); // [EOF] ?>