From: Martin B. on
Peter Schneider wrote:
> Hello,
>
> in AfxCallWndProc MFC catch exceptions derived from CException (in
> particular CInvalidArgException which is thrown by some MFC functions
> such as CArray::GetAt even though this is undocumented). A message box
> will be shown but then the application will continue to run in a
> potentially corrupt state.
>
> This makes it hard to find the root cause of an unhandled exception,
> particularly when a problem is difficult to reproduce or occurs only
> on customer machines, for example.
>
> I'd prefer a normal crash and a good old crash dump showing the call
> stack at the time the exception was thrown. Is there a way to achieve
> this?
>

Check the docs for:
virtual LRESULT ProcessWndProcException(CException* e, const MSG* pMsg);

If you add a THROW_LAST() in you own, you should be able to produce a
crash. (Except I think for the Modal Dialog Loop which contains an
additional CATCH that is not handled via ProcessWndProcException

br,
Martin