+++ /dev/null
-<?php
-/**
- * A general abstract exception. You should not throw this even when you
- * remove the "abstract" key-word. Better you make your own exception and
- * attach a dedicated message to it.
- *
- * @author Roland Haeder <webmaster@ship-simu.org>
- * @version 0.0
- * @copyright Copyright(c) 2007, 2008 Roland Haeder, this is free software
- * @license GNU GPL 3.0 or any newer version
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-abstract class FrameworkException extends ReflectionException {
- /**
- * Array for the backtrace
- */
- private $backTrace = array();
-
- /**
- * The super constructor for all exceptions
- *
- * @param $message The non-optional message for the exception
- * @param $code An optional code for better debugging
- * @return void
- */
- public function __construct($message, $code = 0) {
- // Extract backtrace
- $this->saveBackTrace();
-
- // Cast all data
- $message = (string) $message;
- $code = (int) $code;
-
- // make sure everything is assigned properly
- parent::__construct($message, $code);
- }
-
- /**
- * Save the current backtrace
- *
- * @return void
- */
- private final function saveBackTrace () {
- $this->backTrace = debug_backtrace();
- }
-
- /**
- * Get saved backtrace
- *
- * @return $backTrace The full backtrace in an array
- */
- public final function getBackTrace () {
- return $this->backTrace;
- }
-
- /**
- * Returns the name of the thrown exception
- *
- * @return $toString The name of the thrown exception
- */
- public function __toString() {
- return get_class($this);
- }
-
- /**
- * Getter for hex-decimal code
- *
- * @return $hexCode The exception code in hex-decimal format
- */
- public final function getHexCode () {
- // Get the decimal code
- $code = $this->getCode();
-
- // Format it to hex-decimal, 0x as prefix and 3 chars
- $hexCode = sprintf("0x%03s", dechex($code));
-
- // Return it
- return $hexCode;
- }
-}
-
-// [EOF]
-?>