This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]