set_unexpected (CRT)
Instaluje własnej funkcji rozwiązania do wywołania przez unexpected.
unexpected_function set_unexpected(
unexpected_function unexpFunction
);
Parametry
- unexpFunction
Wskaźnik do funkcji, która zapisu do zastąpienia unexpected funkcji.
Wartość zwracana
Zwraca wskaźnik do funkcji zakończenia poprzedniego zarejestrowanych przez _set_unexpected , dzięki czemu można później przywrócone poprzednie funkcji.Jeżeli nie ustawiono żadnej funkcji poprzedniej wartości zwracanej może służyć Aby przywrócić domyślne zachowanie; wartość ta może być NULL.
Uwagi
set_unexpected Działać instaluje unexpFunction jako funkcja wywoływana przez unexpected.unexpectednie jest używana w bieżącej implementacji obsługi wyjątków C++.unexpected_function Typ jest zdefiniowany w EH.H jako wskaźnik do zdefiniowanej przez użytkownika funkcji nieoczekiwane, unexpFunction , które zwraca void.Niestandardowe unexpFunction funkcja nie powinien powrócić do wywołującego.
typedef void ( *unexpected_function )( );
By default, unexpected calls terminate.To zachowanie domyślne można zmienić przez pisanie funkcji zakończenia i wywoływania set_unexpected o nazwie funkcji jako argumentu.unexpectedwywołuje funkcję ostatniego, biorąc pod uwagę jako argument do set_unexpected.
W odróżnieniu od funkcji niestandardowych Zakończenie zainstalowane przez wywołanie do set_terminate, może być wyjątek z poziomu unexpFunction.
W środowisku wielowątkowym nieoczekiwany funkcje są obsługiwane osobno dla każdego wątku.Każdy nowy wątek musi zainstalować ma własną funkcję nieoczekiwany.W ten sposób każdy wątek jest odpowiedzialny za obchodzenie nieoczekiwany.
W bieżącej implementacji Microsoft obsługi wyjątków C++ unexpected wywołania terminate domyślnie i nie był nigdy wywoływany przez run-time library obsługi wyjątków.Nie ma żadnych szczególną korzyść calling unexpected zamiast terminate.
Istnieje tylko jedno set_unexpected obsługi dla wszystkich dynamicznie połączonej biblioteki DLL lub exe; nawet jeśli zadzwonisz set_unexpected nasza procedura obsługi może być zastąpione innym lub zastępowanych programu obsługi ustawić przez inną bibliotekę DLL lub EXE.
Wymagania
Rozpoczęto wykonywanie procedury |
Wymaganego nagłówka |
---|---|
set_unexpected |
<eh.h> |
Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.
Odpowiednik w programie .NET Framework
Nie dotyczy. Aby wywołać standardowych funkcji C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy.