Sei sulla pagina 1di 4

TIPOS DE ERRORES

EN PROGRAMACIÓN
TIPOS DE ERRORES
Los errores pueden ser sintácticos, semánticos o lógicos.

El tipo de error más obvio es el sintáctico, que se produce cuando se


escribe código de una forma no admitida por las reglas del lenguaje. Los
errores de sintaxis son detectados casi siempre por el compilador o
intérprete, que muestra un mensaje de error que informa del problema.
En Visual Studio, estos mensajes de error aparecen en la ventana de
resultados. Los mensajes indican la ubicación del error de sintaxis
(número de línea y archivo), y muestran una breve descripción del
problema. Normalmente, la determinación de la causa de un error de
sintaxis es un proceso sencillo cuando se conocen estas descripciones.

Los errores semánticos son más sutiles. Un error semántico se produce


cuando la sintaxis del código es correcta, pero la semántica o
significado no es el que se pretendía. La construcción obedece las
reglas del lenguaje, y por ello el compilador o intérprete no detectan los
errores semánticos. Los compiladores e intérpretes sólo se ocupan de la
estructura del código que se escribe, y no de su significado. Un error
semántico puede hacer que el programa termine de forma anormal, con
o sin un mensaje de error. Hablando en términos coloquiales, puede
hacer que el equipo se quede “colgado”.

Sin embargo, no todos los errores semánticos se manifiestan de una


forma tan obvia. Un programa puede continuar en ejecución después de
haberse producido errores semánticos, pero su estado interno puede ser
distinto del esperado. Quizá las variables no contengan los datos
correctos, o bien es posible que el programa siga un camino distinto del
pretendido. Eventualmente, la consecuencia será un resultado
incorrecto. Estos errores se denominan lógicos, ya que aunque el
programa no se bloquea, la lógica que representan contiene un error.
REPORT THIS AD

¿Qué tipos de errores existen en programación?


En un programa, pueden existir tres tipos de errores:

De sintaxis (sintácticos).

• De ejecución.
• De lógica (lógicos).
A continuación, vamos a estudiarlos con ejemplos escritos en lenguaje
C.

Errores de sintaxis
Cuando en alguna instrucción del código fuente de un programa existe
un error de sintaxis, dicho error impedirá, tanto al compilador como al
intérprete, traducir dicha instrucción, ya que, ninguno de los dos
entenderá qué le está diciendo el programador. Por ejemplo, en lenguaje
C, si en vez de la instrucción:

printf( “\n Introduzca el primer numero (entero): ” );

Un programador escribe:

prrintf( “\n Introduzca el primer numero (entero): ” );

Cuando el compilador o el intérprete lean esta línea de código, ninguno


de los dos entenderá qué es “prrintf” y, por tanto, no sabrán traducir
esta instrucción a código máquina, por lo que, ambos pararán la
traducción y avisarán al programador con un mensaje de error.

REPORT THIS AD

En resumen, los errores de sintaxis se detectan en el proceso de


traducción del código fuente a código binario. Al contrario que ocurre
con los errores de ejecución y de lógica, que sólo se pueden detectar
cuando el programa se está ejecutando.

Errores de ejecución
Un error de ejecución se produce cuando el ordenador no puede
ejecutar alguna instrucción de forma correcta. Por ejemplo, en lenguaje
C, la instrucción:

c = 5 / 0;

Es correcta sintácticamente y será traducida a código binario. Sin


embargo, cuando la computadora intente realizar la división:

5/0

se producirá un error de ejecución, ya que, matemáticamente, no se


puede dividir entre cero.

Errores de lógica
En cuanto a los errores de lógica son los más difíciles de detectar.
Cuando un programa no tiene errores de sintaxis ni de ejecución, pero,
aun así, no funciona bien, esto es debido a la existencia de algún error
lógico. De manera que, un error de lógica se produce cuando los
resultados obtenidos no son los esperados. Por ejemplo, en lenguaje C,
si en vez de la instrucción:

REPORT THIS AD

c = a + b;

Un programador hubiera escrito:

c = a * b;

Hasta que no se mostrase por pantalla el resultado de la operación, el


programador no podría darse cuenta del error, siempre que ya supiese
de antemano el resultado de la suma. En este caso, el programador
podría percatarse del error fácilmente, pero, cuando las operaciones son
más complejas, los errores de lógica pueden ser muy difíciles de
detectar.

Potrebbero piacerti anche