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

Eric Youngblut
Thu Feb 17 14:59:00 GMT 2000

I was able to hack up a solution that allowed me to catch a C++
exception thrown from inside a DLL.  I put my technique up on the web:

I hope other people find this useful.

Eric Youngblut

PS  Thanks to all of the Cygwin and Mingw32 developers!  I appreciate
    your work tremendously.

Mumit Khan <khan@xraylith.wisc.EDU> wrote:
>Paul Henshaw <> 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.

Want to unsubscribe from this list?
Send a message to

More information about the Cygwin mailing list