[ http://issues.apache.org/jira/browse/XERCESC-1368?page=history ]
David Bertoni updated XERCESC-1368:
-----------------------------------
Attachment: patch.txt
> Catch-all handler are problematic on Windows
> --------------------------------------------
>
> Key: XERCESC-1368
> URL: http://issues.apache.org/jira/browse/XERCESC-1368
> Project: Xerces-C++
> Type: Bug
> Components: Miscellaneous
> Versions: 2.6.0
> Environment: Windows XP with Visual Studio .NET 2003
> Reporter: David Bertoni
> Attachments: patch.txt
>
> Exception handlers of the form "catch(...)" are causing problems in our
> product code on Windows, because they are catching hardware exceptions, such
> as access violations.
> There is an article in the MSDN Knowledge Base that describes how this has
> changed between Visual Studio 6, and Visual Studio .NET:
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/_core_exception_handling.3a_.default_synchronous_exception_model.asp
> However, my experience with Xerces-C using Visual Studio .NET 2003 is that
> hardware exceptions (asynchronous exceptions, in the Microsoft parlance) are
> still being caught in Xerces-C in catch-all handlers. This is problematic
> because it interferes with normal diagnosis of hardware faults, and can lead
> to code being executed in Xerces-C when the system is in an unknown state.
> It is also a makes it difficult to write code that will behave the same on
> other platforms.
> Looking into the code reveals multiple places where a catch-all handler
> resets some object (or some other similar behavior), then rethrows the same
> exception. I'd like to propose that we try to eliminate as many of these
> catch handlers as possible by replaces these actions with stack objects that
> perform these actions automatically whether or not an exception is thrown
> (auto_ptr-like behavior). This will also have the benefit of simplifying the
> code. From a "philosophical" perspective, I also think its better for code
> to catch the exceptions it's concerned with, and avoid catch-all handlers
> except when absolutely necessary.
> I will attach a proposed patch for a class that does this sort of thing, and
> some modified code that uses this class. I would also like to see if anyone
> else has observed this behavior in their Windows applications.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]