Annotation of parser3/src/main/pa_xml_exception.C, revision 1.1

1.1     ! paf         1: /** @file
        !             2:        Parser: exception class.
        !             3: 
        !             4:        Copyright (c) 2001-2003 ArtLebedev Group (http://www.artlebedev.com)
        !             5:        Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
        !             6: */
        !             7: 
        !             8: #include "pa_config_includes.h"
        !             9: 
        !            10: #ifdef XML
        !            11: 
        !            12: static const char* IDENT="$Date: 2003/07/24 11:31:23 $";
        !            13: 
        !            14: #include "pa_xml_exception.h"
        !            15: #include "pa_globals.h"
        !            16: #include "pa_common.h"
        !            17: 
        !            18: // methods
        !            19: 
        !            20: XmlException::XmlException(
        !            21:        const String* aproblem_source, 
        !            22:        GdomeException& exc) {
        !            23:        ftype="xml";
        !            24:        fproblem_source=aproblem_source;
        !            25: 
        !            26:        const char* xml_generic_errors=xmlGenericErrors();
        !            27:        if(xml_generic_errors || exc) {
        !            28:                const char* s;
        !            29:                switch((GdomeExceptionCode)exc) {
        !            30:                case GDOME_NOEXCEPTION_ERR: s="NOEXCEPTION_ERR"; break;
        !            31:                case GDOME_INDEX_SIZE_ERR: s="INDEX_SIZE_ERR"; break;
        !            32:                case GDOME_DOMSTRING_SIZE_ERR: s="DOMSTRING_SIZE_ERR"; break;
        !            33:                case GDOME_HIERARCHY_REQUEST_ERR: s="HIERARCHY_REQUEST_ERR"; break;
        !            34:                case GDOME_WRONG_DOCUMENT_ERR: s="WRONG_DOCUMENT_ERR"; break;
        !            35:                case GDOME_INVALID_CHARACTER_ERR: s="INVALID_CHARACTER_ERR"; break;
        !            36:                case GDOME_NO_DATA_ALLOWED_ERR: s="NO_DATA_ALLOWED_ERR"; break;
        !            37:                case GDOME_NO_MODIFICATION_ALLOWED_ERR: s="NO_MODIFICATION_ALLOWED_ERR"; break;
        !            38:                case GDOME_NOT_FOUND_ERR: s="NOT_FOUND_ERR"; break;
        !            39:                case GDOME_NOT_SUPPORTED_ERR: s="NOT_SUPPORTED_ERR"; break;
        !            40:                case GDOME_INUSE_ATTRIBUTE_ERR: s="INUSE_ATTRIBUTE_ERR"; break;
        !            41:                case GDOME_INVALID_STATE_ERR: s="INVALID_STATE_ERR"; break;
        !            42:                case GDOME_SYNTAX_ERR: s="SYNTAX_ERR"; break;
        !            43:                case GDOME_INVALID_MODIFICATION_ERR: s="INVALID_MODIFICATION_ERR"; break;
        !            44:                case GDOME_NAMESPACE_ERR: s="NAMESPACE_ERR"; break;
        !            45:                case GDOME_INVALID_ACCESS_ERR: s="INVALID_ACCESS_ERR"; break;
        !            46:                case GDOME_NULL_POINTER_ERR: s="NULL_POINTER_ERR"; break;
        !            47:                default: s="<UNKNOWN CODE>"; break;
        !            48:                }
        !            49:                
        !            50:                fcomment=new(PointerFreeGC) char[MAX_STRING];
        !            51:                const char* xml_error_message;
        !            52:                const char* xml_error_prefix;
        !            53:                if(xml_generic_errors) {
        !            54:                        xml_error_prefix="\n";
        !            55:                        xml_error_message=xml_generic_errors;
        !            56:                } else {
        !            57:                        xml_error_prefix="";
        !            58:                        xml_error_message="";
        !            59:                }
        !            60:                if(exc)
        !            61:                        snprintf(fcomment, MAX_STRING, 
        !            62:                                "DOMException %s (%d)."
        !            63:                                "%s%s", 
        !            64:                                        s,  // decoded code of exception
        !            65:                                        exc, // DOM exception code
        !            66:                                        xml_error_prefix, xml_error_message // xml generic messages accumulated
        !            67:                        );
        !            68:                else // no DOM exception
        !            69:                        snprintf(fcomment, MAX_STRING, 
        !            70:                                "%s", 
        !            71:                                        xml_error_message // xml generic messages accumulated
        !            72:                        );
        !            73:        } else
        !            74:                fcomment=0;
        !            75: }
        !            76: #endif

E-mail: