public function handleError( $errno, $message = '', $file = '', $line = '', $context = [ ] )
    {
        // restore previous error handler
        restore_error_handler();

        if ( $errno === NULL )
        {
            $error = error_get_last();

            $error = [
                'file'    => $error[ 'file' ],
                'line'    => $error[ 'line' ],
                'message' => $error[ 'message' ],
                'trace'   => $this->getBacktrace( debug_backtrace() ),
            ];
        }
        else
        {
            $error = [
                'message' => $message,
                'file'    => $file,
                'line'    => $line,
                'context' => $context,
            ];
        }

        if ( NULL !== $this->errorCallback )
        {
            call_user_func_array( $this->errorCallback, $error );
        }

        return TRUE;
    }