Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В этом разделе описывается синтаксис и использование структурированной обработки исключений, реализованной в компиляторе оптимизации Microsoft C/C++. Следующие ключевые слова интерпретируются компилятором как часть структурированного механизма обработки исключений.
| Ключевое слово | Описание |
|---|---|
| __try | Начинает защищенный текст кода. Используется с ключевым словом __except для создания обработчика исключенийили с ключевым словом __finally для создания обработчика завершения. |
| __except | Начинает блок кода, который выполняется только при возникновении исключения в связанном __try блоке. |
| __finally | Начинает блок кода, который выполняется всякий раз, когда поток элемента управления покидает связанный __try блок. |
| __leave | Позволяет немедленно прекратить работу блока __try без возникновения ненормального завершения и его штрафа за производительность. |
Компилятор также интерпретирует GetExceptionCode, GetExceptionInformation, а также аномальных функций в качестве ключевых слов, а их использование за пределами соответствующего синтаксиса обработки исключений приводит к ошибке компилятора. Ниже приведены краткие описания этих функций.
| Функция | Описание |
|---|---|
| GetExceptionCode | Возвращает код, определяющий тип исключения. Эту функцию можно вызывать только из выражения фильтра или блока обработчика исключений. |
| GetExceptionInformation | Возвращает указатель на структуру EXCEPTION_POINTERS, содержащую указатели на запись контекста и запись исключения. Эту функцию можно вызывать только из выражения фильтра обработчика исключений. |
| аномальное | Указывает, оставил ли поток управления связанный блок __try последовательно после выполнения последней инструкции в блоке. Эту функцию можно вызывать только из __finally блока обработчика завершения. |