Partager via


Exceptions de matériel

La plupart des exceptions standard identifiées par le système d'exploitation sont des exceptions matériel-définies.Les fenêtres identifie quelques exceptions de niveau inférieur de logiciel, mais il s'agit généralement mieux gérés par le système d'exploitation.

Les fenêtres mappe les erreurs machine de différents processeurs à les codes d'exception dans cette section.Dans certains cas, un processeur peut générer uniquement un sous-ensemble de ces exceptions.Les fenêtres prétraite des informations sur l'exception et émet le code approprié d'exception.

les exceptions de matériel identifiées par des fenêtres sont résumées dans le tableau suivant :

code d'exception

cause d'exception

STATUS_ACCESS_VIOLATION

Lecture ou écriture à un emplacement mémoire inaccessible.

STATUS_BREAKPOINT

rencontre d'un point d'arrêt matériel-défini ; utilisé uniquement par les débogueurs.

STATUS_DATATYPE_MISALIGNMENT

lecture ou écriture aux données à une adresse qui n'est pas correctement alignée ; par exemple, les entités 16 bits doivent être alignées sur des limites de 2 octets.(Non applicable aux processeurs Intel 80x86.)

STATUS_FLOAT_DIVIDE_BY_ZERO

diviser le type à virgule flottante par 0,0.

STATUS_FLOAT_OVERFLOW

Dépasser l'exposant positif maximale du type à virgule flottante.

STATUS_FLOAT_UNDERFLOW

dépasser l'importance du plus bas exposant négatif du type à virgule flottante.

STATUS_FLOATING_RESEVERED_OPERAND

À l'aide d'un format à virgule flottante réservé (utilisation non valide de format).

STATUS_ILLEGAL_INSTRUCTION

Si vous essayez d'exécuter le code d'instruction non défini par le processeur.

STATUS_PRIVILEGED_INSTRUCTION

Exécutant une instruction non - autorisée dans le mode actuel de l'ordinateur.

STATUS_INTEGER_DIVIDE_BY_ZERO

Diviser un type entier de 0.

STATUS_INTEGER_OVERFLOW

Vous tentez une opération qui dépasse la plage de l'entier.

STATUS_SINGLE_STEP

Exécuter une instruction en mode pas - à - pas ; utilisé uniquement par les débogueurs.

Plusieurs des exceptions répertoriées dans le tableau précédent sont conçues pour être gérées par les débogueurs, le système d'exploitation, ou un autre code de bas niveau.À l'exception de les erreurs entières et à virgule flottante, votre code ne doit pas gérer ces erreurs.Par conséquent, vous devez généralement utiliser le filtre de gestion des exceptions pour ignorer les exceptions (évaluez à 0).Sinon, vous pouvez empêcher les mécanismes de niveau inférieur de réponse appropriée.Vous pouvez, toutefois, prendre les précautions appropriées sur l'impact potentiel de ces erreurs de bas niveau par gestionnaires de terminaisons d'écriture.

Voir aussi

Référence

Écrire un gestionnaire d'exceptions

Gestion structurée des exceptions (C++)