Ok Guys, Ive sorted It & made my deadline..
Thankyou to everyone who helped Cheers Alex Jesse Pelton wrote: > > But your constructor calls loadXML_proj(), so all the code in that > function is executed while prjLoad is being constructed. This does not > differ in any significant way from executing the same code in the > constructor. > > -----Original Message----- > From: appleGuy [mailto:[EMAIL PROTECTED] > Sent: Wednesday, December 20, 2006 12:32 PM > To: [email protected] > Subject: RE: Error In Code (Sax Parsing) > > > Ok, Ill see what turns up. > > Most (if not all) of the parsing code is not in the constructor. Its in > a > seperate function, that is independant of the constructor. > > Cheers > Alex > > > Jesse Pelton wrote: >> >> You might want to start by trapping all the exceptions that parse() > can >> generate. DOMException, OutOfMemoryException, and (I think) >> SAXException are all possibilities that you haven't covered. Using > the >> getMessage() member to display the exception message may well be >> revealing. >> >> Personally, I'd think twice before implementing a constructor that > does >> so much work. Handling exceptions properly in constructors is >> notoriously difficult, and this one is rife with opportunities for >> error. >> >> -----Original Message----- >> From: appleGuy [mailto:[EMAIL PROTECTED] >> Sent: Wednesday, December 20, 2006 12:05 PM >> To: [email protected] >> Subject: Error In Code (Sax Parsing) >> >> >> Hi, >> >> My program generates a runtime error...I went through the debugger & > it >> seems to break at the parser->parse(XMLfile) >> >> The error is: >> >> Debug Error!....this application has requested the runtime to > terminate >> in >> an unusual way >> >> The code with problems: >> >> #include "prjLoad.h" >> >> //DEBUG >> #include <iostream> >> using namespace std; >> >> //Default Constructor >> prjLoad::prjLoad(prjHandler *ptr_tmp): prjHandle(ptr_tmp){ >> loadXML_prj("xml_file.xml"); >> } >> >> //Destructor >> prjLoad::~prjLoad(void){ >> //Terminate The Dom Session >> XMLPlatformUtils::Terminate(); >> } >> >> bool prjLoad::loadXML_prj(char *prj_filename){ >> //Start XML Xerces Framework >> try { >> XMLPlatformUtils::Initialize(); >> } >> catch (const XMLException& toCatch) { >> char* message = > XMLString::transcode(toCatch.getMessage()); >> cout << "Error during initialization! :\n" >> << message << "\n"; >> XMLString::release(&message); >> return false; >> } >> >> //Create New Parser (SAX) >> SAXParser* parser = new SAXParser(); >> >> //File Input Validation >> parser->setDoValidation(true); >> parser->setDoNamespaces(true); >> >> //Create our SAX handler object and install it on the >> parser (Doc & Error >> Handler) >> //Using Project as Handler >> parser->setDocumentHandler(prjHandle); >> parser->setErrorHandler(prjHandle); >> >> //Load File through Xerces >> XERCES_STD_QUALIFIER ifstream xmlFileHandle; >> xmlFileHandle.open(prj_filename); >> >> //Load Each Line From File To Array xmlFile >> bool flag = true; >> while (flag == true) >> { >> char token[1000]; >> //Set array to zeros >> memset(token,0,sizeof(token)); >> >> //Sequential Search >> if(!(xmlFileHandle.eof())){ >> xmlFileHandle.getline(token, sizeof(token)); >> >> //Check If Line Contains Anything >> if(!(token)) >> continue; >> else { >> //Load into New Derived Variable for >> overloading & Safety >> const char *XMLfile = token; >> >> //Debug >> cout << "Parsing: " << XMLfile << endl; >> >> //ERROR WIPE -> NEEDS IMPLIMENTING >> >> try { >> parser->parse(XMLfile); >> } >> catch(XMLException &e){ >> cout << "ERROR OCCURED" << endl; >> } >> >> } >> >> >> } >> //ELSE STATEMENT FOR EOF-> Set Flag to false therefore >> exiting while loop >> else >> flag = false; >> >> >> } >> return true; >> } >> >> Thanks For looking at this its been bugging me for hours >> >> Cheers >> -Alex >> -- >> View this message in context: >> > http://www.nabble.com/Error-In-Code-%28Sax-Parsing%29-tf2860959.html#a79 >> 93779 >> Sent from the Xerces - C - Users mailing list archive at Nabble.com. >> >> >> > > -- > View this message in context: > http://www.nabble.com/Error-In-Code-%28Sax-Parsing%29-tf2860959.html#a79 > 94297 > Sent from the Xerces - C - Users mailing list archive at Nabble.com. > > > -- View this message in context: http://www.nabble.com/Error-In-Code-%28Sax-Parsing%29-tf2860959.html#a8017526 Sent from the Xerces - C - Users mailing list archive at Nabble.com.
