English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Qui imparerai le classi di eccezione predefinite in C#.
C#.NET fornisce classi di eccezione predefinite per ogni possibile errore. La classe Exception è la classe base per tutte le classi di eccezione.
Di seguito è riportata la gerarchia delle classi di eccezione in .NET:
Nell'immagine, la classe Exception è la classe base per le classi SystemException e ApplicationException. La classe SystemException è la classe base per tutte le eccezioni che possono verificarsi durante l'esecuzione del programma. La classe ApplicationException dovrebbe derivare per creare le proprie classi di eccezione personalizzate. Possono essere create classi personalizzate per errori di regole di business o altri errori relativi all'applicazione.
La figura seguente mostra come viene sollevata l'eccezione NullReferenceException quando si accede a un attributo di oggetto null in modalità di debug di Visual Studio.
La tabella seguente elenca le classi di eccezione predefinite importanti in .NET.
Categoria di eccezione | Descrizione |
---|---|
ArgumentException | E'sollevato quando un parametro non null passato a un metodo è invalido. |
ArgumentNullException | E'sollevato quando viene passato un parametro null a un metodo. |
ArgumentOutOfRangeException | E'sollevato quando il valore del parametro è al di fuori dell'intervallo di valori validi. |
DivideByZeroException | E'sollevato quando un valore intero viene diviso per zero. |
FileNotFoundException | E'sollevato quando non esiste un file fisico nella posizione specificata. |
FormatException | E'sollevato quando il formato del valore non è adatto per la conversione da stringa tramite un metodo di conversione (come Parse). |
IndexOutOfRangeException | E'sollevato quando l'indice dell'array è al di fuori dei limiti inferiori o superiori dell'array o della raccolta. |
InvalidOperationException | E'sollevato quando la chiamata del metodo è invalida nello stato attuale dell'oggetto. |
KeyNotFoundException | E'sollevato quando non esiste una chiave specificata per accedere ai membri della raccolta. |
NotSupportedException | E'sollevato quando un metodo o un'operazione non è supportato. |
NullReferenceException | Eseguita quando il programma accede a un membro di un oggetto vuoto. |
OverflowException | Eseguita quando si verifica un overflow in un'operazione aritmetica, di conversione o di trasformazione. |
OutOfMemoryException | Eseguita quando il programma non ha abbastanza memoria per eseguire il codice. |
StackOverflowException | Eseguita quando si verifica un overflow dello stack nella memoria. |
TimeoutException | Il periodo di tempo assegnato all'operazione è scaduto. |
Quando si verifica un errore, il codice dell'applicazione o il gestore predefinito gestisce l'eccezione. Nel prossimo capitolo imparerai come gestire le situazioni di eccezione.