Attraper plusieurs exceptions en C#
-
Attrapez plusieurs exceptions avec la classe
Exception
enC#
-
Attrapez plusieurs exceptions avec l’instruction
if
enC#
Ce didacticiel abordera les méthodes pour intercepter plusieurs exceptions en C#.
Attrapez plusieurs exceptions avec la classe Exception
en C#
La classe Exception
est utilisée pour représenter une exception générale en C#. Nous pouvons utiliser la classe Exception
dans la clause try...catch
pour intercepter tout type d’exception levée par le code. Consultez l’exemple de code suivant.
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");
}
}
}
}
Production:
True
Dans le code ci-dessus, nous interceptons tout type d’exception levée par notre code avec la classe Exception
en C#. Cette approche est généralement déconseillée car elle ne nous donne pas suffisamment d’informations sur le problème et comment le résoudre. Nous devrions toujours préférer des types d’exceptions spécifiques plutôt que celui-ci générique.
Attrapez plusieurs exceptions avec l’instruction if
en C#
Utiliser des exceptions spécifiques nous oblige à écrire beaucoup de code sous forme de clauses catch
. Nous pouvons utiliser l’instruction if
pour intercepter plusieurs types d’exceptions avec une seule clause catch
en C#. Consultez l’exemple de code suivant.
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");
}
}
}
}
}
Production:
True
Dans le code ci-dessus, nous interceptons les exceptions FormatException
et OverflowException
avec une seule clause catch
en utilisant une instruction if
en 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