Diff for /parser3/src/main/pa_exception.C between versions 1.9 and 1.18

version 1.9, 2001/03/19 17:42:16 version 1.18, 2001/10/13 15:12:50
Line 2 Line 2
         Parser: exception class.          Parser: exception class.
   
         Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com)          Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com)
   
         Author: Alexander Petrosyan <paf@design.ru> (http://design.ru/paf)          Author: Alexander Petrosyan <paf@design.ru> (http://design.ru/paf)
   
         $Id$          $Id$
 */  */
   
 #include <stdio.h>  
 #include <stdlib.h>  
   
 #include "pa_common.h"  #include "pa_common.h"
 #include "pa_exception.h"  #include "pa_exception.h"
   
 void Exception::_throw(const String *atype, const String *acode,  void Exception::_throw(const String *atype, const String *acode,
                                           const String *aproblem_source,                                             const String *aproblem_source, 
                                           const char *comment_fmt, ...) const {                                            const char *comment_fmt, ...) const {
           //_asm int 3;
         ftype=atype;          ftype=atype;
         fcode=acode;          fcode=acode;
         fproblem_source=aproblem_source;          fproblem_source=aproblem_source;
Line 31  void Exception::_throw(const String *aty Line 28  void Exception::_throw(const String *aty
   
         longjmp(mark, 1);          longjmp(mark, 1);
 }  }
   
   #ifdef XML
   void Exception::_throw(Pool& pool, const String *source, const XSLException& e) {
           if(e.getURI().empty())
                   _throw(0, 0,
                           source,
                           "%s (%s)",
                                   pool.transcode_cstr(e.getMessage()),  // message for exception
                                   pool.transcode_cstr(e.getType()) // type of exception
                   );
           else
                   _throw(0, 0,
                           source,
                           "%s (%s). %s(%d:%d)'", 
                                   pool.transcode_cstr(e.getMessage()),  // message for exception
                                   pool.transcode_cstr(e.getType()), // type of exception
                                   
                                   pool.transcode_cstr(e.getURI()),  // URI for the associated document, if any
                                   e.getLineNumber(),  // line number, or -1 if unknown
                                   e.getColumnNumber() // column number, or -1 if unknown
                   );
   }
   
   void Exception::_throw(Pool& pool, const String *source, const SAXException& e) {
           _throw(0, 0,
                   source,
                   "%s",
                           pool.transcode_cstr(XalanDOMString(e.getMessage()))  // message for exception
           );
   }
   void Exception::_throw(Pool& pool, const String *source, const SAXParseException& e) {
           _throw(0, 0,
                   source,
                   "%s. %s(%d:%d)",
                           pool.transcode_cstr(XalanDOMString(e.getMessage())),  // message for exception
                           e.getSystemId()?pool.transcode_cstr(XalanDOMString(e.getSystemId())):"block", // file of exception
                           e.getLineNumber(), e.getColumnNumber() // line:col
           );
   }
   
   
   void Exception::_throw(Pool& pool, const String *source, const XMLException& e) {
           _throw(0, 0,
                   source,
                   "%s (%s). %s(%d)'", 
                           pool.transcode_cstr(XalanDOMString(e.getMessage())),  // message for exception
                           pool.transcode_cstr(XalanDOMString((e.getType()))), // type of exception
                           
                           e.getSrcFile()?e.getSrcFile():"block", // file of exception
                           e.getSrcLine()  // line number
                           //e.getCode()
           );
   }
   
   void Exception::_throw(Pool& pool, const String *source, const XalanDOMException& e) {
           const char *s;
           int code=(int)e.getExceptionCode();
           switch(code) {
           case 1: s="INDEX_SIZE_ERR"; break;
           case 2: s="DOMSTRING_SIZE_ERR"; break;
           case 3: s="HIERARCHY_REQUEST_ERR"; break;
           case 4: s="WRONG_DOCUMENT_ERR"; break;
           case 5: s="INVALID_CHARACTER_ERR"; break;
           case 6: s="NO_DATA_ALLOWED_ERR"; break;
           case 7: s="NO_MODIFICATION_ALLOWED_ERR"; break;
           case 8: s="NOT_FOUND_ERR"; break;
           case 9: s="NOT_SUPPORTED_ERR"; break;
           case 10: s="INUSE_ATTRIBUTE_ERR"; break;
           case 11: s="INVALID_STATE_ERR"; break;
           case 12: s="SYNTAX_ERR"; break;
           case 13: s="INVALID_MODIFICATION_ERR"; break;
           case 14: s="NAMESPACE_ERR"; break;
           case 15: s="INVALID_ACCESS_ERR"; break;
           case 201: s="UNKNOWN_ERR"; break;
           case 202: s="TRANSCODING_ERR"; break;
           default: s="<UNKNOWN CODE>"; break;
           }
           _throw(0, 0,
                   source,
                   "XalanDOMException %s (%d)",
                           s,  // decoded code of exception
                           code // code of exception
           );
   }
   #endif

Removed from v.1.9  
changed lines
  Added in v.1.18


E-mail: