¡Urgente! ! ! Acerca de vb
1. Opciones de compilación de VB
VB tiene dos configuraciones que afectarán en gran medida nuestra capacidad de crear código muy confiable. Una configuración es para la compilación bajo demanda y la otra es para la compilación en segundo plano. Puede abrir el cuadro de diálogo Opciones, seleccionar la pestaña General y establecer estas dos configuraciones, como se muestra en la Figura 1 a continuación. Cuando se selecciona "Compilar bajo demanda", VB no compilará completamente nuestro proyecto si hacemos clic en el botón "Ejecutar" en la barra de herramientas o presionamos F5. En cambio, los procedimientos se compilan sólo cuando se hace referencia a ellos. El uso de la compilación bajo demanda a menudo hará que proyectos más grandes o proyectos en computadoras lentas comiencen a ejecutarse más rápido, pero también puede producir algunos errores de compilación oscuros.
No puedes compilar un proyecto en un archivo liberable, como . exe o. Hasta que se encuentren y corrijan todos los errores de compilación. Por lo tanto, no puede publicar código con errores de compilación seleccionando Compilación bajo demanda. Sin embargo, después de elegir compilar bajo demanda, habrá más y más errores de compilación a medida que pase el tiempo, lo que nos obligará a realizar muchas correcciones de errores cuando finalmente intentemos compilar por completo. Si depura un proyecto en un IDE, VB a menudo tiene que dejar de ejecutarse (no simplemente pausar) para corregir errores. Esto hace que sea muy problemático corregir una gran cantidad de errores de compilación al depurar un proyecto en ejecución. Si el proyecto se puede compilar completamente en un período de tiempo razonable, considere desactivar la compilación bajo demanda. También puede mantener la opción de compilar bajo demanda, pero presione periódicamente Ctrl F5 para volver a ejecutar nuestro proyecto. Esto nos permite corregir errores de compilación periódicamente durante la programación en lugar de tener que corregir una gran cantidad de errores de compilación a la vez.
En segundo lugar, el objeto Err
Antes de que podamos escribir un código eficaz para el manejo de errores, debemos comprender el objeto err de VB, que es un objeto de tiempo de ejecución que contiene información sobre el último error. Cuando el programa encuentra un error durante la ejecución, o usamos el método Raise del objeto err para causar intencionalmente un error, se forman las propiedades del objeto Err. Cuando se encuentra una declaración On Error (como On Error Resume Next) y se sale del procedimiento usando una declaración Exit Sub, Exit Function o Exit Property, los valores de propiedad del objeto Error se borrarán. Para borrar explícitamente el objeto Err, puede llamar a su método Clear. La Tabla 1 a continuación enumera las propiedades del objeto Err.
Número Un número único utilizado para identificar errores.
El nombre del proyecto VB actual.
Descripción del mensaje de error semántico. Si el error no tiene esta cadena, esta propiedad indicará "Error de definición de aplicación o error de definición de objeto"
La unidad, la ruta y el nombre del archivo de ayuda de VB asociado con el error.
El archivo de ayuda HelpContext VB se utiliza para el ID de contexto incorrecto.
La última llamada al código de error lastdller de la biblioteca de vínculos dinámicos (DLL) en el sistema operativo Microsoft Windows de 32 bits. La propiedad LastDllError es de sólo lectura.
3. Tipos de manejadores de errores
Cuando el proyecto se ejecuta como un programa compilado, los errores no detectados tendrán consecuencias fatales y harán que el programa deje de ejecutarse. Se deben hacer todos los esfuerzos posibles para evitar que esto suceda. Para evitar que los errores en el código interrumpan la ejecución del código (y finalicen la ejecución del programa compilado), podemos crear controladores de errores para detectar errores en el código. Cuando se detecta un error, VB no muestra un mensaje de error ni un código de terminación. En cambio, comienza a ejecutarse el código que escribimos específicamente para manejar los errores.
Cada proceso debe tener un controlador de errores, sin importar cuánto código contenga. Es mejor colocar la declaración On Error en la primera línea de código, inmediatamente después del título del procedimiento y antes de la descripción de la variable. Si se produce un error en el proceso de esta manera, se debe explicar claramente con un comentario destacado al comienzo del proceso.
Para detectar errores, básicamente puedes usar los dos métodos siguientes:
Cuando ocurre un error, usa On Error GoTo para transferir a otra ejecución de código.
El uso de la instrucción On Error Resume Next no interrumpe la ejecución del código ni pasa a la ejecución de otro código, pero ignora el error.
Puedes crear varios controladores de errores en un proceso, pero solo uno puede estar activo a la vez. VB considera que el controlador especificado en la última declaración On Error es el controlador de errores activo. A menudo resulta beneficioso cambiar los controladores de errores en diferentes puntos del proceso. Comprender cómo funciona cada controlador de errores es clave para utilizar esta función.
1. Utilice Ignorar errores junto a Recuperación de errores.
La forma más sencilla (y peligrosa) de gestionar los errores es utilizar la instrucción On Error Resume Next. La instrucción On Error Resume Next especifica que los errores en el código se ignoran por completo, se omite la línea con el error y se ejecuta la siguiente instrucción. Por ejemplo, el siguiente procedimiento tiene un error de tiempo de ejecución (es decir, un error de división por 0), que es manejado por el controlador de errores On Error Resume Next:
private Sub cmdGenerateError _ Click() p>
*Propósito: Continuar con la prueba de errores
Continuar con el siguiente paso cuando ocurra un error
Depuración. Print 10/0
Conector final
La declaración Debug.print produjo un error de división por 0. Sin embargo, debido a que hay un controlador de errores activado (especificado en On Error Resume Next), el error se ignora y continúa en la siguiente instrucción, la instrucción End Sub. El hecho de que se ignore un error no significa que no podamos saber que ocurrió un error. Cuando una declaración produce un error, el objeto err contiene información sobre el error incluso si no se muestra el mensaje de error.
2. Utilice On Error GoTo para transferir el flujo de código ejecutado.
A menos que detectemos errores inesperados, como el del código anterior, ignorar los errores en el código es muy peligroso y debe hacerse como último recurso. Los procesos pueden crear muchos problemas cuando ocurren errores inesperados en el proceso. Si se ignora este error, puede tener graves consecuencias para los usuarios, como que los datos no se guarden o se guarden incorrectamente. En muchos casos, cuando se produce un error de código, se debe hacer algo para transferir la ejecución del código al controlador de errores especificado en la instrucción On Error GoTo. La sintaxis de esta declaración es la siguiente:
Línea Ir a en caso de error
Tenga en cuenta que la línea debe hacer referencia a una declaración en el mismo proceso que la declaración Ir a en caso de error.
En esta sintaxis, línea tiene dos significados. Primero, se refiere al número de línea del código que se bifurcará cuando ocurra un error. Sin embargo, este número de línea no es la ubicación física de la línea de código en el proceso. Consulte el siguiente ejemplo de código:
Controlador de subprueba privado()
*Propósito: probar deliberadamente la instrucción On Error GoTo
*Generar un error de tiempo de ejecución.
Vaya a 4 en caso de error
Depurar. Imprimir "Línea 2"
Depurar. Imprimir 10/0
Depurar. Imprimir "Línea 4"
Depurar. print "Line 5"
Fin del empalme
Podríamos pensar que un error de división por cero haría que el código continuara ejecutándose en la declaración que genera el texto en la línea 4, ya que esto es el código La cuarta declaración (no el comentario de conteo).
Esto no sólo no sucede, sino que el código realmente provoca un error de compilación y el código no se ejecuta en absoluto.
3. Activar y desactivar controladores de errores mediante depuración.
Aunque no queremos que no se detecten errores en el programa compilado, si se produce un error cuando el programa se está ejecutando en el IDE, suele ser muy perjudicial para la ejecución del código VB. Cuando se detenga la ejecución del código, verá un mensaje de error relevante que nos indica la línea del código donde ocurrió el error, lo cual es muy útil para depurar el código. El método que utiliza VB para manejar los errores encontrados en el diseño de código se basa en las propiedades de captura de errores del IDE de VB. Las propiedades de captura de errores son propiedades del entorno VB, no del proyecto. Cada proyecto que operamos utiliza este valor de configuración, incluso después de cerrar y reiniciar VB. Para configurar las opciones de captura de errores para la sesión actual de VB sin modificar los valores predeterminados para sesiones futuras, use el comando Alternar en el menú contextual de la ventana de código.
La propiedad de captura de errores se puede establecer en uno de los siguientes valores:
Interrumpir en todos los errores.
El módulo del curso está interrumpido.
Pausa en errores no controlados.
Al interrumpir todos los errores, en realidad se desactivan todos los controladores de errores. Cuando ocurre un error, independientemente de si el controlador está activado, el código se detendrá en la declaración incorrecta y VB mostrará el mensaje de error. Esto nos permite manejar errores inesperados durante las pruebas en el IDE.