Cattura più eccezioni in C#
Questa esercitazione discuterà i metodi per rilevare più eccezioni in C#.
Cattura più eccezioni con la classe Exception
in C#
La classe Exception
viene utilizzata per rappresentare un’eccezione generale in C#. Possiamo usare la classe Exception
all’interno della clausola try...catch
per catturare qualsiasi tipo di eccezione lanciata dal codice. Vedere il seguente codice di esempio.
using System;
namespace convert_int_to_bool {
class Program {
static void Main(string[] args) {
try {
int i = 1;
bool b = Convert.ToBoolean(i);
Console.WriteLine(b);
} catch (Exception e) {
Console.WriteLine("An Exception Occured");
}
}
}
}
Produzione:
True
Nel codice precedente, catturiamo qualsiasi tipo di eccezione generata dal nostro codice con la classe Exception
in C#. Questo approccio è generalmente sconsigliato perché non fornisce informazioni sufficienti sul problema e su come risolverlo. Dovremmo sempre preferire tipi di eccezione specifici piuttosto che questo generico.
Cattura più eccezioni con l’istruzione if
in C#
L’uso di eccezioni specifiche richiede di scrivere molto codice sotto forma di clausole catch
. Possiamo usare l’istruzione if
per catturare più tipi di eccezioni con una sola clausola catch
in C#. Vedere il seguente codice di esempio.
using System;
namespace convert_int_to_bool {
class Program {
static void Main(string[] args) {
try {
int i = 1;
bool b = Convert.ToBoolean(i);
Console.WriteLine(b);
} catch (Exception e) {
if (ex is FormatException || ex is OverflowException) {
Console.WriteLine("Format or Overflow Exception occured");
}
}
}
}
}
Produzione:
True
Nel codice precedente, catturiamo entrambe le eccezioni FormatException
e OverflowException
con una sola clausola catch
utilizzando un’istruzione if
in C#.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn