Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wyjątki mogą być inicjowane przez sprzęt lub oprogramowanie i mogą występować w trybie jądra, a także w kodzie trybu użytkownika. Obsługa wyjątków strukturalnych zapewnia pojedynczy mechanizm obsługi wyjątków trybu jądra i trybu użytkownika.
Wykonanie niektórych sekwencji instrukcji może spowodować wyjątki inicjowane przez sprzęt. Na przykład naruszenie dostępu jest generowane przez sprzęt, gdy proces próbuje odczytać lub zapisać na adres wirtualny, do którego nie ma odpowiedniego dostępu.
Zdarzenia wymagające obsługi wyjątków mogą również wystąpić podczas wykonywania procedury programowej (na przykład w przypadku określenia nieprawidłowej wartości parametru). W takim przypadku wątek może jawnie zainicjować wyjątek, wywołując funkcję RaiseException. Ta funkcja umożliwia wątkowi wywołującemu określenie informacji opisujących wyjątek.
Wyjątek może być ciągły lub niekontynuowalny. Niekontynuowalny wyjątek pojawia się, gdy zdarzenie nie jest ciągłe w sprzęcie lub jeśli kontynuacja nie ma sensu. Wyjątek niekontynuowalny nie kończy działania aplikacji. W związku z tym aplikacja może być w stanie przechwycić wyjątek i kontynuować działanie. Jednak w wyniku uszkodzonego stosu lub innego poważnego problemu zwykle pojawia się niekontynuowalny wyjątek, co utrudnia odzyskanie z wyjątku.