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)


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:
http://www.cs.washington.edu/homes/yngblut/ehtest/

I hope other people find this useful.

Eric Youngblut
yngblut@cs.washington.edu

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



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