Can the “Application Error” dialog box be disabled?

邮差的信 提交于 2019-11-27 01:13:01
  1. Use "Disable error reporting", as Mr. Gently suggests. See also this PC World article.
  2. If you happen to have MS Visual Studio on your build machine, it will catch Application Errors and pop up a dialog box. To disable these dialogs (and also the Just-In-Time Debugging feature of Visual Studio), run the command drwtsn32.exe -i to set Dr. Watson as the default system debugger. Dr. Watson will generate a core dump and silently exit. (See this Microsoft Knowledge Base article: http://support.microsoft.com/kb/q121434/.)

You can also do something like this programaticaly using SetErrorMode. See this article for more details.

A simple example of how to use it is to do the following:

SetErrorMode(GetErrorMode () | SEM_NOGPFAULTERRORBOX);

The above 'ORs' the current mode with our desired addition.

In addition to what rkb said, if you are running Windows XP 64bit, there are two sets of values. The ones in the usual registry location and the ones under the Wow6432Node key in HKLM. In order to update both, run drwtsn32.exe -i from both %SYSTEMROOT%\system32 and %SYSTEMROOT%\SysWOW64.

Disable error reporting via:

  • Registry editing -- add your application to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PCHealth\ErrorReporting\ExclusionList, OR
  • Right-Click on My Computer, go to the Advanced Tab, and choose the "Disable error reporting" option, OR
  • You can navigate to the services console in Administrative tools, find the Error Reporting Service, go into properties and disable it

You can use the various _CrtSetReport functions to control the way the C/C++ runtime responds to various errors (_CrtSetReportHook, _CrtSetReportMode, _CrtSetReportFile, _CrtSetReportHook2)

Use a try/catch statement to catch the exception and handle it the way you want.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!