http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2659 *** shadow/2659 Tue Jul 17 13:39:07 2001 --- shadow/2659.tmp.29595 Tue Jul 17 13:39:07 2001 *************** *** 0 **** --- 1,30 ---- + +============================================================================+ + | Exceptions not propagated for schema validation errors | + +----------------------------------------------------------------------------+ + | Bug #: 2659 Product: Xerces-C++ | + | Status: NEW Version: 1.5 | + | Resolution: Platform: Other | + | Severity: Major OS/Version: Other | + | Priority: Other Component: Validating Parser (Sche | + +----------------------------------------------------------------------------+ + | Assigned To: [EMAIL PROTECTED] | + | Reported By: [EMAIL PROTECTED] | + | CC list: Cc: | + +----------------------------------------------------------------------------+ + | URL: | + +============================================================================+ + | DESCRIPTION | + Throwing an exception in the error() method of a content handler is now caught + in a (...) catch block of function int TraverseSchema::traverseComplexTypeDecl + (const DOM_Element& elem) in TraverseSchema.cpp. The catch block does not + propagate the exception so that it cannot be caught and acted upon by the + caller of parseFile. Previous versions of xerces propagated the exception which + gave a very convenient way of ending the parse when certain error conditions + were met. This is no longer possible. The problem can be demonstrated by using + the PrintFile sample program and adding a throw SAXParseException(...) to the + error() function of the ContentHandler. Make sure schema validation is being + performed and that the source document has a schema validation error in it. You + will see that the exception is caught and not propagated. I think this is a bug + but you may disagree so I have made the severity major rather than critical or + blocker ( which it is for us ). Please feel free to contact me for further + information. Thanks, guys , much appreciated --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
