Condividi tramite


Eccezioni hardware

La maggior parte delle eccezioni standard riconosciuti dal sistema operativo alcune eccezioni hardware-definite.Le finestre riconosce alcune eccezioni di basso livello software, ma questi sono generalmente ottimale gestiti dal sistema operativo.

Le finestre esegue il mapping degli errori hardware di processori diversi per i codici di eccezione in questa sezione.In alcuni casi, un processore possibile generare solo un sottoinsieme di queste eccezioni.Le finestre pre-elaborato informazioni sull'eccezione e genera il codice appropriato di eccezione.

Le eccezioni hardware riconosciute da windows sono riepilogate nella tabella seguente:

codice di eccezione

causa di eccezione

STATUS_ACCESS_VIOLATION

Lettura o scrittura a una posizione di memoria inaccessibile.

STATUS_BREAKPOINT

Si del punto di interruzione hardware-definito; utilizzato solo dai debugger.

STATUS_DATATYPE_MISALIGNMENT

Lettura o scrittura ai dati in un indirizzo che non corretta allineato; ad esempio, le entità a 16 bit devono essere allineati su limiti di 2 byte.(Non applicabile a Intel 80x86 processori.)

STATUS_FLOAT_DIVIDE_BY_ZERO

Divisione del tipo a virgola mobile compresi 0,0.

STATUS_FLOAT_OVERFLOW

Superare esponendo positivo massimo di tipo a virgola mobile.

STATUS_FLOAT_UNDERFLOW

L'overflow di grandezza esponente negativo minore di tipo a virgola mobile.

STATUS_FLOATING_RESEVERED_OPERAND

Utilizzando un formato a virgola mobile riservato (utilizzo non valido del formato).

STATUS_ILLEGAL_INSTRUCTION

Tentare di eseguire un codice di istruzione non definito dal processore.

STATUS_PRIVILEGED_INSTRUCTION

Eseguendo un'istruzione non consentita in modalità del computer corrente.

STATUS_INTEGER_DIVIDE_BY_ZERO

Divisione del tipo integer da 0.

STATUS_INTEGER_OVERFLOW

Tenta un'operazione che supera l'intervallo integer.

STATUS_SINGLE_STEP

Eseguire un'istruzione in modalità di istruzione singola, utilizzato solo dai debugger.

Molte delle eccezioni presenti nella tabella precedente sono progettate per essere gestite da debugger, dal sistema operativo, o altro codice di basso livello.Ad eccezione degli errori Integer e a virgola mobile, il codice non deve gestire tali errori.Pertanto, è necessario in genere utilizzare il filtro gestione delle eccezioni per ignorare le eccezioni (valutare a 0).In caso contrario, è possibile impedire che i meccanismi di livello più basso di rispondere in modo appropriato.È possibile, tuttavia, prendere le precauzioni appropriate e l'impatto potenziale di questi errori di basso livello da gestori di terminazione di scrittura.

Vedere anche

Riferimenti

Scrittura di un gestore eccezioni

Gestione delle eccezioni strutturata (C++)