Bienvenidos sean a este post, hoy hablaremos sobre los distintos tipos de errores que podemos tener o cometer a la hora de desarrollar un codigo.
Algunos pueden ser mas habituales que otros, otros pueden suceder por un error de programacion o pueden suceder como consecuencia de nuestra logica, veamos los tres tipos:
- Sintaxis, error de escritura de codigo
- Ejecucion, tambien conocido como runtime y es durante la ejecucion del programa
- Logicos, estos son del programador.
El primero de los errores es cuando escribimos mal una expresion, nos olvidamos algun elemento, como por ejemplo cerrar un bloque de llaves, olvidarnos un punto y coma, no respetar el nombre correcto de una clase, objeto o metodo, etc, lo bueno de estos errores son que en general el editor nos notificara esta falla por lo que podremos identificarlos rapidamente, recuerden que lo subraya en rojo y si vamos a esa seccion nos comenta el motivo, es muy dificil hoy en dia que este tipo de errores se nos escapen pero puede ocurrir y en esos casos cuando compilamos, tanto en Visual Studio como el compilador de consola nos notificara la falla

En este caso tome a la solucion Argumentos, de nuestro post anterior, e hice un par de modificaciones eliminando una llave y un punto y coma, cuando hicimos la compilacion en la ventana de salida nos dio los errores, cuales son y la linea donde estan los errores pero les repito en Visual Studio es raro que se nos escapen este tipo de errores pero puede ocurrir si trabajamos con el notepad y el compilador, como haciamos al principio.
El otro tipo de error llamado de ejecucion es el que nos sucede cuando ejecutamos el programa y nosotros hacemos una condicion que el programa no espera y produce el error, por ejemplo en el post anterior cuando vimos el primer codigo de Argumentos ejecutamos el programa sin argumentos, en ese caso nos devolvio esto:
C:\Users\tinchicus\source\repos\Argumentos\Argumentos\bin\Debug\netcoreapp3.1>Argumentos.exe
Unhandled exception. System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Argumentos.Program.Main(String[] args) in C:\Users\tinchicus\source\repos\Argumentos\Argumentos\Program.cs:line 8
C:\Users\tinchicus\source\repos\Argumentos\Argumentos\bin\Debug\netcoreapp3.1>
Por ejemplo, en este caso si recordamos nosotros le deciamos al codigo que tome el primer argumento y lo muestre en pantalla pero no le programamos ninguna forma de manipular la falta del mismo, es decir al compilarlo para el compilador estaba perfecto porque no hay ningun error pero cuando lo ejecutamos si o si debemos agregar ese argumento porque de lo contrario nos dira que falta dicho dato, no especificamente asi pero dice que args esta fuera del rango o que dicho dato no es alcanzable, y nos dice en que linea ocurre la falla.
Para ese caso la linea donde se llama args[0], como pueden observar un error de ejecucion puede ser una condicion que no tuvimos en cuenta, por ejemplo cuando modificamos el codigo para el bucle for el problema antes mencionado quedo solucionado porque le hacemos contar los elementos y como es cero, no ejecuta nada y mas adelante veremos como se manejan estas excepciones.
Nota: Excepciones es la forma de determinar errores en los lenguajes de programacion, especialmente en lenguajes derivados de C.
Por ultimo los errores de tipo logico son los que cometemos nosotros porque pueden ocurrir al momento de ejecutar el programa y que no nos devuelve el resultado que esperabamos, por ejemplo nosotros podemos tener un programa que evalua entre dos valores y devuelve un resultado, veamos el siguiente bloque:
if (a > 10 || a < 20)
{
Console.WriteLine("El valor esta entre 10 y 20");
}
Esta condicion nunca se va a cumplir porque el operador ||, equivale al operador OR, nunca sera verdadero si las dos condiciones se cumplen pero tanto el compilador como al momento de ejecutarlo no nos devolvera ningun error porque obviamente no existe error pero el programa no funcionara, para lograr que esta condicion funcione debemos modificarlo de la siguiente manera:
if (a > 10 && a < 20)
{
Console.WriteLine("El valor esta entre 10 y 20");
}
En este caso si va a funcionar porque el operador &&, equivale al operador AND, y este evalua si ambas condiciones son verdaderas, lo cual si se volvera verdadero por lo tanto ejecutara el codigo del bloque, ergo haciendo funcionar a nuestro programa de manera correcta, este tipo de errores son los mas peligrosos porque son nuestros, el lenguaje no los detecta y por ende siempre deben estar atentos a este tipo de error, en cambio los otros son de facil solucion.
En resumen, hoy hemos visto los tres tipos de errores, como son, como nos afectan, como podemos identificarlo, como podemos solucionarlos, en algunos casos, y porque debemos evitarlos, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.
Tengo un Patreon donde podes acceder de manera exclusiva a material para este blog antes de ser publicado, sigue los pasos del link para saber como.

Tambien podes donar
Es para mantenimiento del sitio, gracias!
1.00 $