Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les exceptions peuvent être lancées par du matériel ou des logiciels, et peuvent se produire en mode noyau, ainsi que du code en mode utilisateur. La gestion structurée des exceptions fournit un mécanisme unique pour la gestion des exceptions en mode noyau et en mode utilisateur.
L’exécution de certaines séquences d’instructions peut entraîner des exceptions initiées par du matériel. Par exemple, une violation d’accès est générée par le matériel lorsqu’un processus tente de lire ou d’écrire dans une adresse virtuelle dans laquelle il n’a pas l’accès approprié.
Les événements nécessitant une gestion des exceptions peuvent également se produire lors de l’exécution d’une routine logicielle (par exemple, lorsqu’une valeur de paramètre non valide est spécifiée). Lorsque cela se produit, un thread peut lancer une exception explicitement en appelant la fonction RaiseException. Cette fonction permet au thread appelant de spécifier des informations qui décrivent l’exception.
Une exception peut être continuable ou non continuable. Une exception non continue se produit lorsque l’événement n’est pas continuable dans le matériel, ou si la continuation n’a aucun sens. Une exception non continue ne met pas fin à l’application. Par conséquent, une application peut être en mesure d’intercepter l’exception et de l’exécuter. Toutefois, une exception noncontinuable se produit généralement en raison d’une pile endommagée ou d’un autre problème grave, ce qui rend difficile la récupération de l’exception.