set_unexpected (CRT)
Задает собственную функцию завершения, вызываемый by unexpected.
unexpected_function set_unexpected(
unexpected_function unexpFunction
);
Параметры
- unexpFunction
Указатель на функцию которой можно создавать для замены unexpected функция.
Возвращаемое значение
Возвращает указатель на предыдущую функции завершения зарегистрированной by _set_unexpected таким образом, что функция previous могут быть восстановлены позже.Если функция previous не задана, то возвращаемое значение может использоваться для получения таких данных по умолчанию применяются расширения функциональности; это значение может быть равно null.
Заметки
set_unexpected функция устанавливает unexpFunction например, функция, вызываемая by unexpected.unexpected не используется в реализации обработки ошибок текущего C++.unexpected_function тип определен в EH.H как указатель к определяемой пользователем функции, непредвиденной unexpFunction были возвращает void.Ваша custom unexpFunction функция не должна вернуть в вызывающий объект.
typedef void ( *unexpected_function )( );
По умолчанию unexpected вызовы terminate.Можно изменить используемую по умолчанию применяются расширения функциональности путем написания собственной функции и вызова метода завершения set_unexpected имя функции в качестве аргумента.unexpected вызывает функция last при наличии в качестве аргумента set_unexpected.
В отличие от пользовательской функцией завершения устанавливанную вызовом set_terminateисключение может быть создано из unexpFunction.
В многопоточной среде непредвиденные функции поддерживаются отдельно для каждого потока.Каждому новому потоку требуется устанавливать собственной непредвиденная функция.Таким образом, каждый поток в попечении собственный непредвиденный обработки.
В текущей реализации обработки исключений C++ (Майкрософт) unexpected вызовы terminate по умолчанию и никогда не вызывается библиотекой времени выполнения обработки ошибок.Преимущество вызова не задано unexpected вместо terminate.
Одно set_unexpected обработчик для всех динамически связанные библиотеки DLL или Exe; даже если вызвать set_unexpected обработчик может быть заменен другим или необходимо заменить обработчик другими DLL или EXE.
Требования
Процедура |
Обязательный заголовок |
---|---|
set_unexpected |
<eh.h> |
Дополнительные сведения о совместимости см. Совместимость во введении.
Эквивалент в .NET Framework
Неприменимо. Для c# используйте стандартная функция PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.