====== Errores de programación ====== Durante el proceso de programación, podemos encontrarnos con muchos tipos de errores, desde los que se producen durante la escritura del código hasta los que aparecen durante el uso del programa. ===== Errores de sintaxis ===== Cuando no se emplean correctamente las reglas del lenguaje de programación. Este tipo de errores son detectados por el compilador o intérprete. ==== Ejemplos ==== El siguiente código en PHP muestra un par de errores de sintaxis: El intérprete de PHP se quejará porque para la salida por pantalla la instrucción es ''echo'' y las sentencias se finalizan con punto y coma ('';'') ===== Errores lógicos/semánticos ===== Cuando el programa funciona, pero no lo hace de la forma correcta. Por ejemplo, una situación infame tuvo lugar en la década de 1990 cuando la NASA perdió el Mars Observer porque había programado el software en unidades estadounidenses en lugar de unidades métricas. ===== Errores de compilación ===== ===== Errores de tiempo de ejecución ===== Los errores aparecen en la ejecución del programa. ==== División por cero ==== No es posible dividir un número por 0. ==== Bucles infinitos ==== Si la condición de salida del bucle nunca se cumple, el bucle no dejará de repetirse acabando con los recursos de la máquina que lo ejecuta. ===== Access violation ===== Acceder a memoria no permitida. ===== Buffer overflow ===== Cuando un programa no controla adecuadamente la cantidad de datos que se copian sobre un área de memoria reservada a tal efecto. ===== Stack overflow ===== ===== Deadlock ===== Bloqueo permanente de un conjunto de procesos o hilos de ejecución en un sistema concurrente que compiten por recursos del sistema o bien se comunican entre ellos.