Re: SetUnhandledExceptionFilter

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance

From: Tom Stewart (tastewar_at_newsgroups.nospam)
Date: 05/25/04


Date: Tue, 25 May 2004 08:08:15 -0400

It's probably "impolite" at best for you, being an application extension, to assume the role of UnhandledExceptionFilter
for the application. You could consider encasing your functions in a try/except (or whatever) block and handle
exceptions that pop up in your code that way.

It is often best to try to get a good dump, although this may be difficult if the app in question does its own exception
handling and the problem is not reproducible.

--
Tom
"Werner B. Strydom" <bloudraak@hotmail.com> wrote in message news:unFk1VeQEHA.3456@TK2MSFTNGP11.phx.gbl...
> Hi,
>
> I'm part of a team that develops software to extend 3rd party applications
> such as Word, Outlook, Lotus Notes and GroupWise. Most of our code is
> shipped as modules which is loaded through some API  COM or C) by these
> applications.  The software is deployed on thousands of workstations. Now
> and then someone claims our code misbehaves, causing an access violation, or
> even a crash. Imagine that :) Our add-ins consist of several hundred
> thousand lines of C++.
>
> I have a few questions on SetUnhandledExceptionFilter. I know many questions
> has been posted before, but its seems that the old messages are not
> available on the newsgroup as there is only 1600 odd messages.
>
> Can I call SetUnhandledExceptionFilter in DllMain? We have several
> entrypoints into some modules. Is there a quick way to know whether our
> module (add-in) is in the call stack (calling a Mapi incorrectly)? I'm using
> the functions in dbghelp (5.1.2600.1106). It works great on XP and Windows
> 2K, but not on Windows NT and Windows 98. The overhead checking whether our
> module is in the call stack slows down the process. Its directly related to
> the number of modules loaded by the process it seems. We have found that in
> most cases, we can "recover" from such an accident and at least provide the
> users with an option to save their work.
>
> Thanks in advance
> Werner
>
>
>