c exception handling tutorial with code examples
El manejo de excepciones es un método para manejar errores que pueden ocurrir durante la ejecución de un programa. Este tutorial explica el manejo de excepciones en C # con ejemplos de código:
un dbms de código abierto es:
El manejo de excepciones se usa para asegurarse de que el flujo del programa continúe incluso si hay un error en tiempo de ejecución. Las excepciones son los objetos que se lanzan al encontrar un error de tiempo de ejecución.
Si no se manejan las excepciones, entonces C # producirá un mensaje de excepción y terminará el programa, aquí es donde el manejo de excepciones entra en escena.
=> Lea la guía de C # para principiantes aquí
Lo que vas a aprender:
- ¿Qué son las excepciones?
- Palabras clave para el manejo de excepciones
- Clases de excepción presentes en C #
- Manejo de excepciones en C #
- Conclusión
- Lectura recomendada
¿Qué son las excepciones?
Las excepciones son errores sin precedentes que pueden ocurrir dentro de su programa durante el tiempo de ejecución. La mayoría de las veces, los programadores pueden detectar fácilmente algunos de los errores, como la validación o la verificación nula, o mientras verifican algunos valores.
Pero hay ciertos momentos en los que no podemos anticipar qué o cuándo aparecerá un error. Por ejemplo, digamos que estoy buscando un archivo en una ubicación. Mi programa funcionará perfectamente bien hasta que el archivo esté presente y si de alguna manera el archivo se borró, mi programa arrojará un error.
Las excepciones no ocurren de forma regular, pero pueden ocurrir y siempre querrá manejarlas con cuidado. Para manejar estos usamos el manejo de excepciones.
Siempre que ocurre un error, decimos que se lanza, 'arrojar' es un objeto de System.Exception clase en C #. los System.Exception La clase ofrece diferentes métodos y propiedades que brindan detalles sobre el error que acaba de encontrar su programa.
Como la propiedad de seguimiento de pila que proporciona la pila para la que ocurrió el problema o la propiedad de mensaje que proporciona una descripción de la excepción.
tipos de herencia c ++
Palabras clave para el manejo de excepciones
Las excepciones ofrecen un proceso para controlar una determinada parte del programa de modo que incluso si hay una excepción en esa parte, el control del programa se transfiere a otra parte del programa. En C #, el manejo de excepciones se basa básicamente en cuatro palabras clave: tirar, probar, atrapar y finalmente .
lanzar
Como ya hemos comentado, throw es un objeto de System.Exception clase en el C #. Permite que el programa lance un error siempre que encuentre uno.
tratar
Try block encierra el bloque de código que puede hacer que el programa genere una excepción. Le sigue uno o más bloques de captura.
captura
Cuando el bloque try encuentra una excepción, proporciona el control al bloque catch para detectar la excepción. El bloque de captura también puede contener un conjunto de códigos que el programa necesita ejecutar en caso de una excepción o simplemente puede detectar la excepción y no hacer nada según el escenario y el requisito.
finalmente
El bloque final se utiliza para ejecutar un fragmento de código o una instrucción en particular, independientemente de la ocurrencia de una excepción. Finalmente, el bloque siempre se ejecuta y puede ejecutarse justo después del bloque de prueba si el programa no encuentra ninguna excepción o puede ejecutarse después del bloque catch una vez que el programa detecta una excepción.
Clases de excepción presentes en C #
Todas las excepciones en C # se derivan directa o indirectamente del System.Exception clase.
Echemos un vistazo breve a algunas de las excepciones más comunes:
- System.IO.IOException: Maneja cualquier error relacionado con la entrada y la salida.
- System.DividedByZeroException: Maneja el error que se produce cuando un número se divide por cero.
- System.NullReferenceException : Maneja cualquier error que pueda ocurrir cuando se hace referencia a un objeto nulo.
- System.IndexOutOfRangeException: Controla el error que se produce cuando un programa intenta acceder a un índice que está fuera del rango de la matriz.
- System.OutOfMemoryException: Maneja el error generado debido a una presencia de memoria insuficiente.
Manejo de excepciones en C #
C # tiene una solución muy bien definida para manejar cualquier tipo de excepción que pueda ocurrir usando el bloque try and catch. Usando este bloque, la declaración principal del programa se puede separar de las otras declaraciones.
Ejemplo:
|_+_|En el ejemplo anterior, hemos incluido nuestro código para abrir un archivo debajo del bloque try. Como no hemos proporcionado ninguna ruta de archivo válida, el código debería arrojar un error. Ahora, hemos detectado el error en nuestro bloque de captura. Si el archivo no existe en la ruta de archivo dada, entonces el código lanzará una FileNotFoundException.
Esta excepción será capturada por el bloque catch donde ya hemos definido la excepción esperada. Ahora, imaginemos si nuestro código arroja alguna otra excepción, distinta de la que ya hemos definido, entonces nuestro bloque no podrá detectarla. Para detectar cualquier excepción genérica, agregaremos otro bloque de captura.
Echemos un vistazo a nuestro código actualizado:
|_+_|Este bloque de captura genérico podrá detectar todas las excepciones que se puedan lanzar dentro del bloque de prueba. Ahora, agreguemos también un bloque finalmente para completar esto. Para simplificarlo, imprimamos un mensaje usando el bloque finalmente.
como hacer un ataque ddos a una ip|_+_|
Aquí, acabamos de agregar el bloque finalmente con un mensaje simple. También puede agregar algunas declaraciones personalizadas en el bloque. Pero la estructura general del programa seguirá siendo similar a la que se muestra aquí.
El bloque Finalmente siempre se ejecutará independientemente de si hay una excepción o no. El programa comenzará desde el bloque try y luego se moverá directamente al bloque finalmente si no hay errores / excepciones. Si encuentra una excepción, se moverá para capturar primero y luego ejecutará el bloque final.
¿Existe una condición en la que el bloque finalmente no se ejecutará?
Como sugiere el nombre, el bloque final se ejecuta al final y es el bloque final del código que se ejecutará. Finalmente, el bloque siempre se ejecutará cuando la aplicación se esté ejecutando. El único momento en que el bloque finalmente no se ejecutará es cuando la aplicación se bloquea o se mata intencionalmente mediante el comando de proceso.
Conclusión
Si las excepciones no se manejan correctamente, causarán errores dentro de su programa. Si no ha usado bloques try / catch en ningún lugar dentro de su código, entonces su programa abortará con un mensaje que muestra la excepción. Para un usuario genérico, será muy difícil rastrear el error hasta el código fuente y resolverlo.
Por lo tanto, siempre es una buena práctica proporcionar manejo de excepciones en su programa.
Código de muestra
|_+_|=> Vea nuestra serie completa de capacitación en C # aquí
Lectura recomendada
- Tutorial de métodos / funciones de C # con ejemplos de código
- Tutorial de Python DateTime con ejemplos
- Tutorial de SVN: Gestión de código fuente con Subversion
- Tutorial de cadenas de C #: métodos de cadena con ejemplos de código
- Manejo de excepciones en C ++
- Tutorial de Tortoise SVN: Revisiones en el repositorio de código
- Tutorial de AWS CodeBuild: extracción de código de la compilación de Maven
- Cómo manejar la excepción en los scripts de SoapUI Groovy - Tutorial de SoapUI n. ° 11