This section describes the syntax and usage of structured exception handling as implemented in the Microsoft C/C++ Optimizing Compiler. The following keywords are interpreted by the compiler as part of the structured exception-handling mechanism.
Keyword | Description |
---|---|
try | Begins a guarded body of code. Used with the except keyword to construct an exception handler, or with the finally keyword to construct a termination handler. |
except | Begins a block of code that is executed only when an exception occurs within its associated try block. |
finally | Begins a block of code that is executed whenever the flow of control leaves its associated try block. |
The compiler also interprets the GetExceptionCode, GetExceptionInformation, and AbnormalTermination functions as keywords, and their use outside the appropriate exception-handling syntax generates a compiler error. The following are brief descriptions of these functions.
Function | Description |
---|---|
GetExceptionCode | Returns a code that identifies the type of exception. This function can be called only from within the filter expression or exception-handler block of a try-except exception handler. |
GetExceptionInformation | Returns a pointer to an EXCEPTION_POINTERS structure containing pointers to the context record and the exception record. This function can be called only from within the filter expression of a try-except exception handler. |
AbnormalTermination | Indicates whether the flow of control left the associated try block sequentially after executing the last statement in the block. This function can be called only from within the finally block of a try-finally termination handler. |