|
Tipos de errores. Los errores se pueden clasificar en tres tipos: diseño, compilación y lógicos. Los errores de diseño, son los cometidos mientras se realiza la escritura del código o la composición del programa, Visual Basic posee una herramienta de corrección sintáctica, la cual nos avisa, cuando escribimos mal la sintaxis de una instrucción. Un ejemplo, es el olvido del cierre de un paréntesis, en una instrucción. Hay veces, en los que el editor ni siquiera nos avisa del error y lo corrige automáticamente, como es el caso del cierre de una cadena de caracteres entre comillas, sin poner la comilla del final. En el caso de los controles, también nos avisa cuando cometemos un error en su diseño, para probar esto, basta con asignar a un control Data, la propiedad RecordSource, en la ventana de propiedades sin tener asignada la propiedad DatabaseName. Los errores de compilación, son los que se muestran cuando ejecutamos la aplicación o al crear un ejecutable, estos errores pueden ser debido a múltiples causas, entre ellas se encuentran los errores de tipos de datos o la falta de los parámetros requeridos, en la llamada a un procedimiento o función. En la ficha General, del cuadro de Opciones, en el menú Herramientas, se nos muestra una casilla de verificación, con el título, compilación a petición, si esta casilla se encuentra marcada, los errores no se mostrarán, hasta llegar a esa parte del programa durante la ejecución, si desactivamos esa casilla el programa se compilará completo al ejecutar, mostrando en ese momento, todos los errores que se vayan sucediendo durante la compilación. Los errores lógicos, como su nombre indica, son errores causados por la lógica del programa, estos errores no necesariamente detendrán la ejecución, aunque su efecto es un mal funcionamiento del programa que se comportará de forma distinta a la esperada por el programador. Para su demostración, suponemos un ComboBox al que queremos rellenar la lista, a partir de los datos de una tabla que esta implementada en un objeto Recordset, la primera vez que ejecutamos un bucle para recorrer los datos e ir añadiéndolos a la lista, ésta se rellenará como en el ejemplo que se muestra:
Private Sub rellenar(ByVal Rst As Recordset, ByRef Combo As ComboBox, Campo As String) Pero si necesitamos volver a recargar la lista, no se añadirán los elementos, ¿que ha pasado?, el objeto Recordset está en Eof, por lo que el bucle no se ejecuta y la lista quedará vacia. Solucion: añadir una instrucción que cada vez que se vaya a ejecutar, asegure que el objeto Recordset está al principio de la tabla, ejemplo:
Private Sub rellenar(ByVal Rst As Recordset, ByRef Combo As ComboBox, Campo As String) Los errores lógicos, debido a sus causas, son los más difíciles de detectar y es la prueba y uso del programa lo que los delata. |
Copyright © 2001, SoftAutodid