Detectar varias excepciones en C#
-
Detecte varias excepciones con la clase
Exception
enC#
-
Detecte múltiples excepciones con la declaración
if
enC#
Este tutorial discutirá los métodos para detectar múltiples excepciones en C#.
Detecte varias excepciones con la clase Exception
en C#
La clase Exception
se utiliza para representar una excepción general en C#. Podemos usar la clase Exception
dentro de la cláusula try...catch
para detectar cualquier tipo de excepción lanzada por el código. Vea el siguiente código de ejemplo.
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");
}
}
}
}
Producción :
True
En el código anterior, detectamos cualquier tipo de excepción lanzada por nuestro código con la clase Exception
en C#. Este enfoque generalmente se desaconseja porque no nos brinda suficiente información sobre el problema y cómo solucionarlo. Siempre deberíamos preferir tipos de excepción específicos en lugar de este genérico.
Detecte múltiples excepciones con la declaración if
en C#
El uso de excepciones específicas requiere que escribamos mucho código en forma de cláusulas catch
. Podemos usar la declaración if
para detectar múltiples tipos de excepciones con una sola cláusula catch
en C#. Vea el siguiente código de ejemplo.
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");
}
}
}
}
}
Producción :
True
En el código anterior, detectamos las excepciones FormatException
y OverflowException
con una sola cláusula catch
utilizando una instrucción 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