На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Exception-Handler Syntax



The try and except keywords are used to construct a frame-based exception handler. The following example shows the structure of a try-except exception handler.

try {

// guarded body of code

}
except (filter-expression) {

// exception-handler block

}


Note that the try block and the exception-handler block require braces ({}). Using a goto statement to jump into the body of a try block or into an exception-handler block is not permitted. This rule applies to both try-except and try-finally statements.
The try block contains the guarded body of code that the exception handler protects. A function can have any number of try-except statements, and these exception-handling statements can be nested within the same function or in different functions. If an exception occurs within the try block, the system takes control and begins the search for an exception handler. For a detailed description of this search, see Exception Handling.

The exception handler receives only exceptions that occur within a single thread. This means that if a try block contains a call to the CreateProcess or CreateThread function, exceptions that occur within the new process or thread are not dispatched to this handler.
The system evaluates the filter expression of each exception handler guarding the code in which the exception occurred until either the exception is handled or there are no more handlers. A filter expression must be evaluated as one of the three following values.

Value Meaning
EXCEPTION_EXECUTE_HANDLER
The system transfers control to the exception handler, and execution continues in the stack frame in which the handler is found.
EXCEPTION_CONTINUE_SEARCH
The system continues to search for a handler.
EXCEPTION_CONTINUE_EXECUTION
The system stops its search for a handler and returns control to the point at which the exception occurred. If the exception is noncontinuable, this results in a EXCEPTION_NONCONTINUABLE_EXCEPTION exception.


The filter expression is evaluated in the context of the function in which the try-except statement is located, even though the exception may have occurred in a different function. This means that the filter expression can access the function's local variables. Similarly, the exception-handler block can access the local variables of the function in which it is located.
For more information about filter expressions and filter functions, see Frame-based Exception Handling.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

СИНТАКСИС Exception-Handler



Попытка и за исключением того ключевые слова использованы, чтобы создавать фреймового исключительного вручителя. Следующий пример показывает структуру попытки-кроме исключительного вручителя.

попытка {

// охраняющее тело кода

}
кроме (фильтр-выражение) {

// блок исключительного вручителя

}


Отметьте, что пробовать блока и блок исключительного вручителя требует скобы ({}). Используя утверждение goto, чтобы прыгать в тело пробовать блока или в блока исключительного вручителя не разрешен. Эти правила относится как к попытке-кроме так и попытка-наконец утверждения.
Пробовать блока содержит охраняющее тело кода, который исключительный вручитель защищает. Функция может иметь любой номер попытки-кроме утверждений, и эта исключительная обработка утверждений может быть вложена в пределах той же функции или в других функциях. Если исключение происходит в пределах пробовать блока, система берет управление и начинает поиск исключительного вручителя. Для подробного описания этого поиска, смотри Исключительную Обработку.

Исключительный вручитель получает только исключения, которые происходят в пределах единственной резьбы. Это означает, что если пробовать блока содержит вызов на CreateProcess или функция CreateThread, исключения, которые происходят в пределах нового процесса или резьба не послана этому вручителю.
Система оценивает выражение фильтра каждого исключительного вручителя, охраняющего код в котором исключение происходило до или исключение прооперировано или нет больше вручителей. Выражение фильтра должно быть оценено как одно из трех следующих величин.

Оцените Значение EXCEPTION_EXECUTE_HANDLER
Система передает управление исключительному вручителю, и выполнение остается в фрейме кипы в котором вручитель обнаружен.
EXCEPTION_CONTINUE_SEARCH система остается искать вручителя.
EXCEPTION_CONTINUE_EXECUTION
Система останавливает свой поиск вручителя и возвращает управление по существу, в котором исключение происходило. Если исключение - noncontinuable, это заканчивается исключением EXCEPTION_NONCONTINUABLE_EXCEPTION.


Выражение фильтра оценено в контексте функции в которой попытка-за исключением того утверждение расположено, даже если исключение может произойти в другой функции. Это означает, что выражение фильтра может иметь доступ к функциональным локальным переменным. Аналогично, блок исключительного вручителя может иметь доступ к локальным переменным функции в котором он расположен.
Более подробно о выражениях фильтра и функций фильтра, смотри Фреймовую Исключительную Обработку.


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz