Muchas veces no ha pasado que nuestro programa deja de responder visualmente. Por lo general esto se relaciona, con la falta de directivas a la hora de afrontar un problema en el código. Tanto las aplicaciones en C# de Forms o Consola suelen fallar, ya sea por la imposibilidad de continuar ejecutando el código o algún error interno. Debido a esto nuestro programa dejara de responder, haciendo que se trabe, se bloquee o quede imposibilitado para continuar.
Existen dos alternativas, de las cuales la principal es trabajar con try y catch y la otra trabajar asincrónicamente. Solo veremos cómo trabajar con try y catch en un Windows Form para C#.
Si nuestro programa en C# deja de responder, podremos ver que es lo que impide que el código siga ejecutándose simplemente usando try y catch.
using system; try{ //Intentar leer un archivo o generar algo inexistente }catch(Exception ex){ //Mostrar el error MessageBox.Show("" + ex); }
Lo primero que hace el código es “intentar” de alguna manera, realizar el código que se encuentre adentro del try{}. El error puede encontrarse dentro de bucles o líneas de código que son imposibles o de respuesta con tiempo indeterminado. Al activarse el error, pasara enseguida al catch{} en donde mostrara el error o la excepción que se le atribuya. De esta manera controlaríamos los errores en nuestro código, evitando que el programa deje de responder.
Otro método a tener en cuenta es try{}, catch{} y finally {}, en donde cada bloque cumplirá la función determinada para atentar a resolver errores.
using system; try{ //Abrir Archivo //Leer dato inexistente en el archivo (Para que muestre error) }catch(Exception ex){ //Mostrar el error MessageBox.Show("" + ex); }finally{ //Cerrar Archivo //Escribir un archivo de logs }
Así nuestro programa podrá continuar ejecutándose, mostrando errores y controlando los bloques de código en segmentos, para una mayor facilidad a la hora de programar en C#.