catching Exceptions thrown from within a DLL (egcs,NT,C++,b20.1)

Mumit Khan khan@xraylith.wisc.EDU
Tue Aug 31 23:49:00 GMT 1999


Paul Henshaw <paul.henshaw@jrc.it> writes:
> Dear All,
> 
> 	having managed now to build and link against a DLL, I have
> 	encountered a problem with exception handling.
> 
> 	I have a test program which deliberately provokes an exception,
> 	expecting to catch it, and throw it to it's caller.
> 
> 	When I run the DLLed version of this program, the exception
> 	is constructed and displayed correctly, but the caller does
> 	not catch the exception, and my SIGABORT handler is called.

This is a problem that's been there since the beginning, and will be
there for a while to come, sorry. Nobody is actively working on this
part, at least publicly.

The long term solution is rewrite the C++ exception mechanism for
windows32 ports using SEH.

> 	So is there is some magic incantation to chant over DLLs
> 	to make exceptions work, or am I just being stupid (again)?

I'll be grateful if someone does find a workaround for this issue.

btw, the problem shows up on other platforms as well -- such as HPUX
-- where exceptions thrown by shared libraries can't be caught. Not
always an easy problem to solve, especially on window32, which GCC
hackers just don't have much of an incentive to work on.

Regards,
Mumit


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com



More information about the Cygwin mailing list