X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=application%2Fhub%2Fexceptions.php;h=a7c409ae1805ab82a18d5fc06dc0e6d3a423b36c;hb=e03915b65199fe16bbd8fa9098d31371fa14bf3e;hp=f219040e6fdb52844ec8e15c0c8c1844df06da30;hpb=81c90916f7a908c77f8844dff5adc6fae3aed422;p=hub.git diff --git a/application/hub/exceptions.php b/application/hub/exceptions.php index f219040e6..a7c409ae1 100644 --- a/application/hub/exceptions.php +++ b/application/hub/exceptions.php @@ -2,9 +2,9 @@ /** * An include file for setting up the exception handler of the hub * - * @author Roland Haeder + * @author Roland Haeder * @version 0.0 - * @copyright Copyright (c) 2007 - 2008 Roland Haeder, 2009 - 2011 Hub Developer Team + * @copyright Copyright (c) 2007 - 2008 Roland Haeder, 2009 - 2012 Hub Developer Team * @license GNU GPL 3.0 or any newer version * * This program is free software: you can redistribute it and/or modify @@ -25,14 +25,12 @@ function hub_exception_handler ($exceptionInstance) { // Is it an object and a valid instance? if ((is_object($exceptionInstance)) && ($exceptionInstance instanceof FrameworkException)) { - // Get the regular trace - $trace = $exceptionInstance->getTrace(); - - // Get 3 call levels + // Init variable $backTrace = ''; - for ($idx = 0; $idx < 3; $idx++) { - // Copy array for argument analysis and init variable - $traceArray = $trace[$idx]; + + // Get all call levels from backtrace + foreach ($exceptionInstance->getTrace() as $idx => $traceArray) { + // Init argument string $argsString = ''; // Convert arguments type into human-readable @@ -60,7 +58,7 @@ Line : %d\n", basename($traceArray['file']), $traceArray['line'] ); - } // END - for + } // END - foreach // Construct the message $message = sprintf("-------------------------------------------------------------------------------- @@ -89,14 +87,14 @@ Backtrace: // Invalid exception instance detected! Do *only* throw exceptions that // extends our own exception 'FrameworkException' to get such nice // outputs like above. - print("exceptionInstance is invalid! Please inform the core developer team.\n"); + print('exceptionInstance[]=' . gettype($exceptionInstance) . ' is invalid! Please inform the core developer team.'); } } // Error handler function __errorHandler ($errno, $errstr, $errfile, $errline, array $errcontext) { // Construct the message - $message = sprintf("File: %s, Line: %s, Code: %s, Message: %s", + $message = sprintf('File: %s, Line: %s, Code: %s, Message: %s', basename($errfile), $errline, $errno, @@ -115,12 +113,15 @@ function __assertHandler ($file, $line, $code) { } // END - if // Create message - $message = sprintf("File: %s, Line: %s, Code: %s", + $message = sprintf('File: %s, Line: %s, Code: %s', basename($file), $line, $code ); + // Log assert + syslog(LOG_WARNING, $message); + // Throw an exception here throw new AssertionException($message, BaseFrameworkSystem::EXCEPTION_ASSERTION_FAILED); } // END - function @@ -132,11 +133,11 @@ function __assertHandler ($file, $line, $code) { set_exception_handler('hub_exception_handler'); // 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'); +assert_options(ASSERT_ACTIVE , TRUE); +assert_options(ASSERT_WARNING , FALSE); +assert_options(ASSERT_BAIL , TRUE); +assert_options(ASSERT_QUIET_EVAL, FALSE); +assert_options(ASSERT_CALLBACK , '__assertHandler'); // [EOF] ?>