Temas tratados en esta entrada
Excepciones de C#
Al ejecutar el codigo pueden ocorrir errores, errores codificados producidos por el programador, o varios otros tipos de errores como entradas incorrectas
En C# cuando ocurre un error el programa se detiene y genera un mensage de error
El termino tecnico para estos errores son las excepciones
try and catch
En espanol quiere decir intentar y atrapar
la declaracion try le permite defenir un bloque de codigo, para ser aprobado en busca de errores mientras se esta ejecutando
La declaracion catch permite defenir un bloque de codigo para ser ejecutado, si ocurre un error en el bloque try
try y catch fuerman pareja, van juntas
sintaxis
try { // Block of code to try } catch (Exception e) { // Block of code to handle errors }
...
Creamos una matriz de 3 enteros
Esto generara un error porque el 10 no existe en la matriz
int[] myNumbers = {1, 2, 3}; Console.WriteLine(myNumbers[10]); // error!
salida System.IndexOutOfRangeException: 'Index was outside the bounds of the array.'
si usamos el bloque try catch seria de esta manera
Ejemplo
try { int[] myNumbers = {1, 2, 3}; Console.WriteLine(myNumbers[10]); } catch (Exception e) { Console.WriteLine(e.Message); }
salida Index was outside the bounds of the array.
También puede generar su propio mensaje de error:
Ejemplo
try { int[] myNumbers = {1, 2, 3}; Console.WriteLine(myNumbers[10]); } catch (Exception e) { Console.WriteLine("Algo salió mal."); }
salida Algo salió mal.
Declaracion finally
La instrucion finally permite ejecutar el codigo despues del try...catch independentemente del resultado
Ejemplo
try { int[] myNumbers = {1, 2, 3}; Console.WriteLine(myNumbers[10]); } catch (Exception e) { Console.WriteLine("algo ha salido mal."); } finally { Console.WriteLine("El try y el catch ya finalizaran"); }
salida
Algo salió mal. El try y el catch ya finalizaran
La palabra throw
La declaracion throw permite declarar un error personalizado
La declaracion throw se usa junto con una clase de exception
En C# tenemos muchas clases de exception, listare algunas:
- ArithmeticException
- FileNotFoundException
- IndexOutOfRangeException
- TimeOutException
- etc
Ejemplo
static void checkAge(int age) { if (age < 18) { throw new ArithmeticException("Acceso denegado: debe tener al menos 18 años."); } else { Console.WriteLine("Acceso concedido - ¡Eres lo suficientemente viejo!"); } } static void Main(string[] args) { checkAge(15); }
salida
System.ArithmeticException: 'Acceso denegado: debe tener al menos 18 años.'
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias