catching Exceptions thrown from within a DLL (egcs,NT,C++,b20.1)
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.
PS Thanks to all of the Cygwin and Mingw32 developers! I appreciate
your work tremendously.
Mumit Khan <firstname.lastname@example.org.EDU> wrote:
>Paul Henshaw <email@example.com> 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 firstname.lastname@example.org
More information about the Cygwin