Manejo de errores Try Catch
Cuando comencé a programar, generalmente no ocurrían muchos errores en mí código, pues los programas que realizaba eran simples y no tenían mucho contenido. Pero cuando comenzamos a combinar varios lenguajes y a usar la estructura del html en las páginas web todo comenzó a ponerse un poco más complejo, pues ya no era solo tener la lógica para crear el algoritmo necesario, sino también que se relacionara bien con las vistas y todo el otro código que había que generar. Y bueno, logramos superar la combinación del lenguaje con la estructura, y todo lo demás que esto conlleva.
Pero, pude darme cuenta que pueden surgir otros errores, a parte de la falta de un punto y coma, o una llave, que son algunos de los que más nos resultan a la hora de programar. Resulta que también el usuario de mi programa puede ingresar datos que no son los deseados o intentar ingresar a partes de mi programa que no son permitidos, y fue allí donde conocí la utilidad del manejo de errores con el Try catch, pues esto ayuda a que a pesar de que el usuario haga cosas indebidas en el programa este no falle y se detenga.
En la parte del Try, se ingresa todo el código que quiero que se ejecute y que sé que puede ser problemático, de manera que si resulta algún error se lo pueda enviar al catch para que este pueda mostrar qué tipo de error es el que se está cometiendo, además de que se puede personalizar el tipo de error y el mensaje que quiero mostrar con la sentencia throw.
try
{
_context.Inventories.Remove(inventory);
await _context.SaveChangesAsync();
_flashMessage.Info("Registro borrado.");
}
catch
{
_flashMessage.Danger("No se puede borrar el inventario porque tiene registros relacionados.");
}
Este es un ejemplo que utilicé en uno de los códigos para una aplicación de un hotel, donde se estaba aplicando el método para borrar un elemento del inventario, pero no se quería borrar ningún elemento que ya estuviera relacionado con otro de los registros. De esta manera se muestra el mensaje de registro borrado si no se encuentra ningún problema, o si tiene algún registro relacionado el mensaje que se encuentra en catch.
El catch también puede recibir un parámetro con el error que se ha capturado, con algunos de los que se han establecido por default. Como lo puede ser el no tener la variable declarada, o errores que son más relacionados con la sintaxis del código.
catch (Exception exception)
{
_flashMessage.Danger(exception.Message);
}
Nota: los ejemplos mostrados, están hechos en un modelo mvc ASP.Net core en C#
Comentarios
Publicar un comentario