Hi all, One of the features of the last release was that, instead of sending some error message to stderr and calling exit() when it encountered some critical issue (such as the inability to find an error message file or transcoding services), the parser now calls a user-specifiable PanicHandler object. When this was implemented, it was assumed that the behaviour of the PanicHandler would be to throw an exception that could be processed appropriately by the code that called the parsing services.
I believe that I've heard of environments where unhappy things happen when C++ exceptions are thrown between DLL's. In such a situation, I would imagine that a PanicHandler author would want to set a global flag in the routines that require parsing services that would trigger them to react appropriately when a parsing service returned but the flag indicating the service was unusable had been set. Currently, this design wouldn't work in the parser, since there are no return statements after calls to the PanicHandler and often variables are dereferenced which are known to be null or improperly initialized when the PanicHandler is called. I wonder whether we should try to fix this, or whether no one in fact knows of any situation where it wouldn't be safe for a user's PanicHandler simply to send an exception through the parser and back to their own routines. Thoughts? Cheers, Neil Neil Graham XML Parser Development IBM Toronto Lab Phone: 905-413-3519, T/L 969-3519 E-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]