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. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

См. также

Ссылки

Подпрограмм обработки ошибок

abort

_get_unexpected

set_terminate (CRT)

terminate (CRT)

unexpected (CRT)