[Ace-users] [ace-users] C++ Exception handling model for Win32 builds

Johnny Willemsen jwillemsen at remedy.nl
Wed Dec 12 03:12:12 CST 2007


Hi,

> > We also need this setting for the 
> ACE_DISABLE_WIN32_ERROR_WINDOWS to work.
> > We use this on all build systems to log access violations 
> to a file instead
> > of getting something on the screen. 
> 
> Are you sure? For me, calling SetUnhandledExceptionFilter prevents
> dialogs from appearing on the screen after an access violation. The 
> /EHa flag doesn't change the behaviour of the unhandled 
> exception filter
> in any way.

I did remember disabling the error window didn't work with /Eha. The issue
is that I don't have free time to retest this at this moment. I can only do
that as part of our commercial services. Can you file this in bugzilla (see
http://deuce.doc.wustl.edu/bugzilla/index.cgi).

> As a minor improvement, if we really do want to prevent win32 error
> dialogs from appearing, we may want to consider calling
> SetErrorMode(SEM_FAILCRITICALERRORS) in the code in the #ifdef
> ACE_DISABLE_WIN32_ERROR_WINDOWS block. As things currently stand, I
> believe that "Please Insert a disk in drive A:" and similar 
> dialogs can
> be shown.

Can you add this also to bugzilla

> Sure, but you do understand just how undesirable the current behaviour
> of catch(...) is, don't you? Just about every expert seems to strongly
> recommend that you avoid the combination of /EHa and catch(...). If we
> understand the risks and truly believe that there are 
> benefits to /EHa,
> then fine. But, as things currently stand I just see lots of risks and
> not many benefits.

Can you store this also in bugzilla, when there is time I can have a look.

Regards,

Johnny Willemsen
Remedy IT
Postbus 101
2650 AC  Berkel en Rodenrijs
The Netherlands
www.theaceorb.nl / www.remedy.nl  

*** Integrated compile and test statistics see
http://scoreboard.theaceorb.nl ***
*** Commercial service and support for ACE/TAO/CIAO             ***
*** See http://www.theaceorb.nl/en/support.html                 ***



More information about the Ace-users mailing list