PRB: Exception Code 0xE06D7363 When Calling Win32 SEH APIs

This article was previously published under Q185294
SYMPTOMS
When you call Win32 Structured Exception Handling (SEH) APIs, such asGetExceptionCode() and GetExceptionInformation(), sometimes the systemreports the following exception code:
0xE06D7363
Sometimes GetLastError() also returnsthis value. This exception code will be used for any error that is raised by the Microsoft Visual C++ compiler through a call to "throw".
CAUSE
All Visual C++ exceptions thrown from code generated by the MicrosoftVisual C++ compiler contain this error code. Because this is a compiler-generated error, the code is not listed in the Win32 API header files. The code is actually a cryptic mnemonic device, with the initial "E" standing for "exception" and the final 3 bytes (0x6D7363) representing the ASCII values of "msc".
RESOLUTION
To properly handle the error, you need to wrap the offending code in atry...catch block. This allows the developer to identify the actual Visual C++ exception that was thrown.

While debugging an application with Microsoft Visual Studio, you can haltthe program immediately when this exception occurs, before any handler codeis invoked. This gives you a chance to view the offending statement and fixthe exception yourself by modifying the variable contents, thereby avoidingan unwind. To set how the debugger handles this exception, follow thesesteps:
  1. Start debugging your application.
  2. From the Debug menu, click Exceptions.
  3. Within the Exceptions dialog box, select error 0xE06D7363.
  4. Change the value of Action from Stop if not handled to Stop always.
STATUS
This behavior is by design.
REFERENCES
Visual C++ Books Online: Exception Handling; Debugging Exceptions
E06D7363
Properties

Article ID: 185294 - Last Review: 03/16/2005 20:37:00 - Revision: 3.2

Microsoft Win32 Application Programming Interface

  • kbapi kbkernbase kbprb kbexcepthandling KB185294
Feedback