|
|
| Contenidos > 4.4
Tipos de errores |
|
|
| 4.4 Tipos de errores |
|
|
|
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.
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, aún 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
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 programdor 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. |
|
|
|
|
| Contenidos > Apartado siguiente del
Curso de Ingeniería del Software |
|
| 4.5 Fases
de la puesta a punto de un programa |
|
|
|
|