Aracılığıyla paylaş


set_unexpected (crt)

Kendi sonlandırma işlevi çağrılacak yükler unexpected.

unexpected_function set_unexpected(
   unexpected_function unexpFunction 
);

Parametreler

  • unexpFunction
    Değiştir yazma bir işlev işaretçisi unexpected işlevi.

Dönüş Değeri

Bir önceki sonlandırma işlev işaretçisi kayıtlı olarak döndürür _set_unexpected böylece önceki işlev daha sonra geri.Önceki bir işlev kümesi, dönüş değeri varsayılan davranışını geri yüklemek için kullanılabilir; Bu değer boş olabilir.

Notlar

set_unexpected İşlev yükler unexpFunction çağrılan işlev olarak unexpected.unexpectedGeçerli C++ özel durum işleme uygulamasında kullanılmaz.unexpected_function Türü, eh içinde tanımlanır.Kullanıcı tanımlı beklenmeyen, bir işlev işaretçisi olarak h unexpFunction , verir void.Özel unexpFunction işlevi değil dönmek için arayan.

typedef void ( *unexpected_function )( );

By default, unexpected calls terminate.Kendi sonlandırma işlevi yazmak ve çağırmak bu varsayılan davranışı değiştirmek set_unexpected bağımsız olarak işlevinizin adını taşıyan.unexpectedbağımsız değişken olarak verilen son işlevini çağırır set_unexpected.

Bir çağrı tarafından yüklenen özel sonlandırma işlevi tersine set_terminate, bir özel durum içinden atılabilen unexpFunction.

Çok iş parçacıklı ortamda beklenmeyen işlevler her iş parçacığı için ayrı olarak korunur.Her yeni iş parçacığı beklenmeyen işlevi yüklemek gerekiyor.Böylece, her iş parçacığı beklenmeyen kendi işleme sorumlu olur.

C++ özel durum işleme, geçerli Microsoft uygulamasında unexpected çağrıları terminate varsayılan olarak hiçbir zaman özel durum işleme çalışma zamanı kitaplığı tarafından verilir.Arama için belirli hiçbir yararı yoktur unexpected yerine terminate.

Tek bir var. set_unexpected işleyicisi dinamik olarak bağlı tüm dll dosyaları veya kilitleyebilecek; çağırdığınız bile set_unexpected , işleyici başka tarafından değiştirilebilir veya bir işleyici değiştirme tarafından başka bir dll ya da exe ayarlayın.

Gereksinimler

Yordamı

Gerekli başlık

set_unexpected

<eh.h>

Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.

.NET Framework Eşdeğeri

Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri.

Ayrıca bkz.

Başvuru

Özel durum işleme yordamları

abort

_get_unexpected

set_terminate (crt)

terminate (CRT)

unexpected (CRT)