Gestione strutturata delle eccezioni

Un'eccezione è un evento che si verifica durante l'esecuzione di un programma e richiede l'esecuzione di codice all'esterno del normale flusso di controllo. Esistono due tipi di eccezioni: eccezioni hardware ed eccezioni software. Le eccezioni hardware vengono avviate dalla CPU. Possono derivare dall'esecuzione di determinate sequenze di istruzioni, ad esempio divisione per zero o tentativo di accedere a un indirizzo di memoria non valido. Le eccezioni software vengono avviate in modo esplicito dalle applicazioni o dal sistema operativo. Ad esempio, il sistema può rilevare quando viene specificato un valore di parametro non valido.

La gestione strutturata delle eccezioni è un meccanismo per la gestione di eccezioni hardware e software. Di conseguenza, il codice gestirà le eccezioni hardware e software in modo identico. La gestione strutturata delle eccezioni consente di avere il controllo completo sulla gestione delle eccezioni, fornisce supporto per i debugger ed è utilizzabile in tutti i linguaggi di programmazione e i computer. La gestione delle eccezioni vettoriali è un'estensione per la gestione strutturata delle eccezioni.

Il sistema supporta anche la gestione della terminazione, che consente di garantire che ogni volta che viene eseguito un corpo sorvegliato del codice, viene eseguito anche un blocco di codice di terminazione specificato. Il codice di terminazione viene eseguito indipendentemente dal modo in cui il flusso del controllo lascia il corpo sorvegliato. Ad esempio, un gestore di terminazione può garantire che le attività di pulizia vengano eseguite anche se si verifica un'eccezione o un altro errore durante l'esecuzione del corpo sorvegliato del codice.