X-Git-Url: https://git.mxchange.org/?p=core.git;a=blobdiff_plain;f=inc%2Fmain%2Fexceptions%2Fclass_FrameworkException.php;fp=inc%2Fmain%2Fexceptions%2Fclass_FrameworkException.php;h=0000000000000000000000000000000000000000;hp=866e59f7d0b2f028ed5c7b84cebd34be6ab1dfbe;hb=78a010fef84895720e796842208f01dfb619c332;hpb=7629f2314d517561d4301ddfb068a797b6ed8700 diff --git a/inc/main/exceptions/class_FrameworkException.php b/inc/main/exceptions/class_FrameworkException.php deleted file mode 100644 index 866e59f7..00000000 --- a/inc/main/exceptions/class_FrameworkException.php +++ /dev/null @@ -1,213 +0,0 @@ - - * @version 0.0.0 - * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2017 Core Developer Team - * @license GNU GPL 3.0 or any newer version - * @link http://www.shipsimu.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 . - */ -abstract class FrameworkException extends ReflectionException { - /** - * Array for the backtrace - */ - private $backTrace = array(); - - /** - * Extra data - */ - private $extraData = ''; - - /** - * 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) { - // Make sure everything is assigned properly - parent::__construct($message, $code); - - // Extract backtrace - $this->saveBackTrace(); - - // Cast all data - $message = (string) $message; - $code = (int) $code; - - // In emergency exit? - if (defined('EMERGENCY_EXIT_CALLED')) { - // Output message - printf( - '[%s:] Message: %s, Backtrace:
%s
', - $this->__toString(), - $message, - $this->getPrintableBackTrace() - ); - - // End here - exit(); - } // END - if - - // Should we log exceptions? (bad implementation) - if (defined('LOG_EXCEPTIONS')) { - // Log the error - error_log(sprintf( - '[%s:] %s (%s)', - $this->__toString(), - $message, - $this->getHexCode() - )); - } // END - if - } - - /** - * Save the current backtrace - * - * @return void - */ - private final function saveBackTrace () { - // Get full backtrace - $this->backTrace = debug_backtrace(); - - // Remove this call - $dummy = array_shift($this->backTrace); - - // resort the array - ksort($this->backTrace); - } - - /** - * Get saved backtrace - * - * @return $backTrace The full backtrace in an array - */ - public final function getBackTrace () { - return $this->backTrace; - } - - /** - * Getter for printable backtrace - * - * @return $backTrace Backtrace for web pages - */ - public final function getPrintableBackTrace () { - // Get the backtrace - $dbgTrace = $this->getBackTrace(); - - // Taken from de.php.net user comments - $dbgMsg = "
\nDebug backtrace begin:
\n"; - foreach ($dbgTrace as $dbgIndex => $dbgInfo) { - // No info by default - $info = 'NULL'; - - // Are there arguments? - if ((isset($dbgInfo['args'])) && (is_array($dbgInfo['args'])) && (isset($dbgInfo['args'][0]))) { - //* DEBUG: */ echo $dbgIndex.":
".htmlentities(print_r($dbgInfo['args'], TRUE))."
"; - $info = ''; - foreach ($dbgInfo['args'] as $debug) { - // Add only non-array elements - if (!is_array($debug)) { - $info .= $debug . ', '; - } // END - if - } // END - foreach - - // Remove last chars (commata, space) - $info = substr($info, 0, -2); - } // END - if - - // Prepare argument infos - $info = '' . $info . ''; - - // File detection - $file = 'Unknown file'; - if (isset($dbgInfo['file'])) { - $file = basename($dbgInfo['file']); - } // END - if - - // Line detection - $line = 'Unknown line'; - if (isset($dbgInfo['line'])) { - $line = 'line ' . $dbgInfo['line']; - } // END - if - - // The message - $dbgMsg .= "\t at ".$dbgIndex." ".$file." (".$line.") -> ".$dbgInfo['function'].'('.$info.")
\n"; - } // END - if - - // Add end-message - $dbgMsg .= "Debug backtrace end
\n"; - - // Return full debug message - return $dbgMsg; - } - - /** - * 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 - * - * @param $code Integer code to encode in hex - * @return $hexCode The exception code in hex-decimal format - */ - public final function getHexCode ($code = NULL) { - // Get the decimal code - if (is_null($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; - } - - /** - * Setter for extra data - * - * @param $extraData Extra data to store - * @return void - */ - protected final function setExtraData ($extraData) { - $this->extraData = $extraData; - } - - /** - * Getter for extra data - * - * @return $extraData Extra data to store - */ - public final function getExtraData () { - return $this->extraData; - } - -}