C# intenta atrapar

C# intenta atrapar
Una excepción es un estado o un evento que ocurrió en el momento de la ejecución, lo que no se espera al escribir el código fuente. Para superar esta situación, se necesita un código especial junto con el objeto de excepción para rectificar esto. Este código contiene cuatro bloques, de los cuales dos de ellos son los elementos principales que deben usarse para que la excepción se manejar. Estos cuatro bloques se explican a continuación.
  • Prueba: esto define un bloque de try; Usamos la declaración que puede causar cualquier error dentro de este bloque de try.
  • Catch: este bloque se usa para atrapar la excepción generada por el bloque de try. El objeto de excepción genera el error dentro de este bloque.
  • Finalmente: cualquier código que desee generar en cualquier caso está escrito dentro de este bloque.
  • Throw: este bloque se usa para lanzar la excepción manualmente desde el bloque de try hasta el bloque de captura.

Ejemplo 1

Para implementar el concepto Try-Catch, primero usaremos un programa simple en el código Sh Sharp. Primero, declararemos una variedad de tipos de datos enteros. Al declarar la matriz, no tenemos que declarar el tamaño de la matriz. Pero, cuando se asignan los valores, el índice se fija automáticamente. Entonces, en este caso, se creará la matriz del índice 4.

Int [] arr = 1, 2, 3, 4, 5;

Para mostrar todos los elementos de una matriz, usaremos un bucle for para. La función de la matriz, arr.La longitud () se usa para encontrar la longitud total de la matriz hasta la cual el bucle iterará. Esta función se llama a través del objeto de matriz. La declaración de la consola desempeñará su papel al mostrar los elementos de la matriz. Pero, usaremos el índice de la matriz que está más allá de su tamaño real. Por ejemplo, el tamaño de la matriz es 4, pero usaremos el índice 7 para mostrar su valor.

Consola.escritura (arr [7]);

Esto causará un error; Se lanzará una excepción cuando se ejecute esta línea.

Para compilar el código anterior, hemos utilizado el compilador MCS requerido en el terminal de Linux, mientras que Mono se usa para ejecutar el código ejecutable con el .extensión exe.

Archivo de $ MCS.CS
$ MONO ARCHIVO.exe

El valor resultante será los elementos presentes en una matriz que se muestra a través del bucle "para". Pero, ¿qué pasa con la última línea utilizada para mostrar el elemento en el séptimo índice de la matriz?? El índice está fuera del rango dado, por lo que ocurrirá una excepción.

Para superar este error o para evitar la excepción, utilizamos el concepto de intento y atrapar. Estas dos son las herramientas que usamos dentro del código que ayuda en la ejecución sin problemas del código sin resaltar el error que hace que el programa termine.

El fenómeno Try-Catch funciona para que la declaración o el código que cree que puede causar una generación de errores se escribe dentro del cuerpo de try. Por ejemplo, la oración utilizada para mostrar el valor del séptimo índice, escrito en el código anterior, se usará dentro del cuerpo de prueba.

Ahora, aplicaremos este enfoque al código anterior. Todos los elementos se muestran de manera similar por el bucle permaneciendo dentro del rango de la matriz. Cuando se trata del séptimo elemento de índice, escriba esta declaración dentro del bloque de try.

Intentar
Consola.Escritura (arr [7]);

Después de declarar el cuerpo de intento, usaremos el bloque de captura. Este bloque es la parte principal para evitar la excepción. Maneja el error mostrando el mensaje de error y, al mismo tiempo, ejecutando con éxito el programa. El mensaje que se muestra es la propiedad del objeto que pertenece al error de tipo IndexoUtoFrangeException.

Atrapar
Consola.WriteLine ("Mensaje", E.mensaje);

Este mensaje funcionará a través del objeto; Un mensaje es lo que hemos usado, mientras que el objeto muestra el otro.

Puedes ver el valor resultante. El mensaje de error se muestra a través de los bloques de captura de try.

Ejemplo # 2

No es obligatorio usar siempre un solo intento y un solo bloque de captura. Podemos usar más de un bloque de captura para un solo bloque de try. En el código de excepción C Sharp, se usan múltiples bloques de captura cuando el usuario no está seguro sobre el tipo de error. El usuario no es consciente de qué tipo de excepción puede ocurrir. Es por eso que usamos diferentes bloques de captura para manejar cualquier tipo de error que podamos encontrar.

Al usar múltiples capturas, existe un bloque final. Esta parte del código se ejecuta independientemente de si se produce el error.

La simple sintaxis de múltiples capturas se da a continuación:

intentar

// cualquier declaración
Atrapar (obj)

// código de controlador
Atrapar (obj)

// código de controlador
finalmente

// código predeterminado

En el ejemplo dado, mostraremos los valores dentro de la matriz en el bloque Finalmente. Considere el código fuente en el que se declara una matriz de 4 elementos. Dentro del cuerpo de prueba, hemos utilizado para que el bucle obtenga cada elemento de una matriz y aplique la condición dada.

Consola.WriteLine (arr [i] / arr i +1]);

Dentro del bucle, cada elemento se obtiene y se divide por el siguiente número de la matriz. Después del cuerpo de try, usaremos una secuencia de bloques de captura para mencionar las excepciones de los diferentes tipos que se pueden ocurrir de acuerdo con la situación.

Catch (indexOutoFrangeException e)

El primer bloque es para la excepción fuera de rango junto con el objeto. Se mostrará un mensaje con el objeto.

Del mismo modo, el segundo bloque de captura será:

Captura (dividebyzerexception e)

Esta excepción ocurrirá si cualquier número está dividido por cero.

El tercer y el último tipo de captura es para los parámetros escritos en el argumento en exceso de valor en lugar del rango en las variables declaradas.

Catch (argumentOutOfRangeException e)

Al definirlos, sabrá que la captura se ejecutará y mostrará el valor.

Moviéndose hacia el bloque Finalmente. Se ejecutará si ocurre una excepción o no. Y un bucle para el interior mostrará los valores de una matriz.

Hemos utilizado la condición de división para dividir el número con el número presente al lado. Entonces, si vemos los valores en la segunda posición y en 1 índice, hay "0", por lo que cualquier cosa dividida con 0 causa una excepción.

Primero, el error se define y luego el bloque final mostrará todos los valores.

Conclusión

Un proceso de manejo de excepciones trata de errores de identificación y luego resueltos. Esto se hace utilizando bloques Try-Catch dentro del código fuente. El código que duda que puede causar una excepción se escribe dentro de la prueba, y el bloque de captura eliminará esta excepción. Para un solo intento, se usan una sola captura y múltiples capturas. Puede usar cualquier objeto de excepción que pueda pensar que puede ser útil para la posible excepción. Hemos implementado ejemplos después de los enfoques de captura única y múltiples.