2009-07-19 13 views
6

Wydaje się, że powinno być proste, ale próbowałem zarówno
obsługę wyjątków try {} catch (...) {} C++ i
__try {} __finally {} strukturę wyjątek magazynowe (SEH)
i ani jeden złapie wyjątku, co się dzieje, gdy Control-C, podanie.Jak wychwycić wyjątek Control-C w aplikacji konsoli programu Visual C++?

Nie spodziewałem się, że zrobi to obsługa wyjątków C++, ponieważ Control-C jest sygnałem typu systemowego i nie jest powodowany przez rzut C++(), ale próbowałem go mimo to, gdy SEH nie działał.

Jeśli uruchamiam pod debuggerem, pokazuje to, że Control-C wywołuje wyjątek pierwszej szansy, ale po jego ponownym pojawieniu się mój przewodnik nie jest nigdy wywoływany.

+0

To nie wyjątek, jego nazywany interupt. –

+0

Doh - przerwanie. Mój błąd. –

+0

@Daniel Tak, technicznie Microsoft powinien nazwać to Structured INTERRUPT Handling, ale tak nie jest. Po-tAY-do Po-tAH-to. –

Odpowiedz

Powiązane problemy