QErrorHandler::HandleError PHP Method

HandleError() public static method

public static HandleError ( $intErrorNumber, $strErrorString, $strErrorFile, $intErrorLine )
    public static function HandleError($intErrorNumber, $strErrorString, $strErrorFile, $intErrorLine)
    {
        // If a command is called with "@", then we should return
        if (error_reporting() == 0) {
            return;
        }
        // If we still have access to QApplicationBase, set the error flag on the Application
        if (class_exists('QApplicationBase')) {
            QApplicationBase::$ErrorFlag = true;
        }
        // If we are currently dealing with reporting an error, don't go on
        if (QErrorHandler::$Type) {
            return;
        }
        // Setup the QErrorHandler Object
        QErrorHandler::$Type = 'Error';
        QErrorHandler::$Message = $strErrorString;
        QErrorHandler::$Filename = $strErrorFile;
        QErrorHandler::$LineNumber = $intErrorLine;
        switch ($intErrorNumber) {
            case E_ERROR:
                QErrorHandler::$ObjectType = 'E_ERROR';
                break;
            case E_WARNING:
                QErrorHandler::$ObjectType = 'E_WARNING';
                break;
            case E_PARSE:
                QErrorHandler::$ObjectType = 'E_PARSE';
                break;
            case E_NOTICE:
                QErrorHandler::$ObjectType = 'E_NOTICE';
                break;
            case E_STRICT:
                QErrorHandler::$ObjectType = 'E_STRICT';
                break;
            case E_CORE_ERROR:
                QErrorHandler::$ObjectType = 'E_CORE_ERROR';
                break;
            case E_CORE_WARNING:
                QErrorHandler::$ObjectType = 'E_CORE_WARNING';
                break;
            case E_COMPILE_ERROR:
                QErrorHandler::$ObjectType = 'E_COMPILE_ERROR';
                break;
            case E_COMPILE_WARNING:
                QErrorHandler::$ObjectType = 'E_COMPILE_WARNING';
                break;
            case E_USER_ERROR:
                QErrorHandler::$ObjectType = 'E_USER_ERROR';
                break;
            case E_USER_WARNING:
                QErrorHandler::$ObjectType = 'E_USER_WARNING';
                break;
            case E_USER_NOTICE:
                QErrorHandler::$ObjectType = 'E_USER_NOTICE';
                break;
            case E_DEPRECATED:
                QErrorHandler::$ObjectType = 'E_DEPRECATED';
                break;
            case E_USER_DEPRECATED:
                QErrorHandler::$ObjectType = 'E_USER_DEPRECATED';
                break;
            case E_RECOVERABLE_ERROR:
                QErrorHandler::$ObjectType = 'E_RECOVERABLE_ERROR';
                break;
            default:
                QErrorHandler::$ObjectType = 'Unknown';
                break;
        }
        // Setup the Stack Trace
        QErrorHandler::$StackTrace = "";
        $objBackTrace = debug_backtrace();
        for ($intIndex = 0; $intIndex < count($objBackTrace); $intIndex++) {
            $objItem = $objBackTrace[$intIndex];
            $strKeyFile = array_key_exists('file', $objItem) ? $objItem['file'] : '';
            $strKeyLine = array_key_exists('line', $objItem) ? $objItem['line'] : '';
            $strKeyClass = array_key_exists('class', $objItem) ? $objItem['class'] : '';
            $strKeyType = array_key_exists('type', $objItem) ? $objItem['type'] : '';
            $strKeyFunction = array_key_exists('function', $objItem) ? $objItem['function'] : '';
            QErrorHandler::$StackTrace .= sprintf("#%s %s(%s): %s%s%s()\n", $intIndex, $strKeyFile, $strKeyLine, $strKeyClass, $strKeyType, $strKeyFunction);
        }
        QErrorHandler::Run();
    }

Usage Example

Example #1
0
function __qcodo_handle_error($intErrorNumber, $strErrorString, $strErrorFile, $intErrorLine)
{
    return QErrorHandler::HandleError($intErrorNumber, $strErrorString, $strErrorFile, $intErrorLine);
}