Share via


¡No funciona! Encontrar y eliminar errores en tiempo de ejecución

Actualización: noviembre 2007

En esta lección, aprenderá a depurar un programa y a corregir errores en tiempo de ejecución.

Como aprendió en su momento, los errores en tiempo de ejecución se producen cuando el programa intenta realizar una operación que es imposible finalizar. Cuando se produce un error en tiempo de ejecución, el programa se detiene y aparece un mensaje de error; debe depurar el error y corregirlo para que el programa pueda continuar.

Encontrar y corregir errores en tiempo de ejecución

La mayoría de los errores en tiempo de ejecución se producen porque se cometió un error en el código; por ejemplo, olvidó asignar un valor a una variable antes de utilizarla. Cuando se ejecute el programa y se descubra el error, el programa se detendrá y el cuadro de diálogo Ayudante de excepciones se mostrará en la ventana Editor de código. Cuando esto sucede, el programa está en modo de interrupción, que es el modo en que se realiza la depuración.

El cuadro de diálogo Ayudante de excepciones contiene una descripción del error, así como sugerencias para la solución de problemas que indican la causa. Puede hacer clic en las sugerencias sobre solución de problemas para mostrar los temas de Ayuda y obtener más detalles.

Es necesario corregir el error para que pueda continuar con el programa; para ello, debe inspeccionar el código para encontrar la causa del error. Por ejemplo, si sospecha que se produjo un error porque una variable contiene el valor equivocado, estando todavía en el modo de interrupción, puede utilizar IntelliSense para ver el valor de la variable. Cuando se coloca el mouse sobre la variable en el Editor de código, la información sobre herramientas muestra el valor de la variable. Si el valor no es lo que esperaba, compruebe en el código anterior dónde se estableció el valor y después arregle el código y continúe.

Inténtelo

Para revisar el valor de una variable

  1. En el menú Archivo, seleccione Nuevo proyecto.

  2. En el panel Plantillas, en el cuadro de diálogo Nuevo proyecto, haga clic en Aplicación para Windows.

  3. En el cuadro Nombre, escriba RunTimeErrors y haga clic en Aceptar.

    Se abrirá un nuevo proyecto de formularios Windows Forms.

  4. Haga doble clic en el formulario para abrir el Editor de código.

  5. En el controlador de eventos Form_Load, agregue el siguiente código.

    Dim miles As Integer = 0
    Dim hours As Integer = 0
    Dim speed As Integer = 0
    
    miles = 55
    speed = miles / hours
    MsgBox(CStr(speed) & " miles per hour")
    
  6. Presione F5 para ejecutar el programa. Aparece un cuadro de diálogo Ayudante de excepciones con el mensaje "No se controló OverflowException".

    Una línea de puntos que va del cuadro de diálogo a su archivo de código señala la línea de código que produjo el error.

    Observe que la primera sugerencia sobre solución de problemas del Ayudante de excepciones indica que debe asegurarse de no estar dividiendo por cero.

  7. Mueva el mouse sobre la variable miles y manténgalo ahí durante unos segundos. La información sobre herramientas que verá dice "miles 55".

  8. Ahora mueva el mouse sobre la variable hours; la información sobre herramientas debe decir "hours 0".

    Debido a que no se puede dividir por cero y el valor de hours es cero, ya ha encontrado la causa del error: no haber actualizado el valor de hours.

  9. Agregue la siguiente línea de código sobre la línea miles = 55.

    hours = 2
    
  10. Haga clic en la flecha amarilla situada en el margen izquierdo del código y arrástrela hasta la línea hours = 2.

    Esto permite que el programa continúe desde esa línea en lugar de continuar desde la línea que contiene el error. Para que se reconozca la solución del error es necesario ejecutar la nueva línea de código recién agregada.

  11. Presione F5 para que el programa continúe. Aparece un cuadro de diálogo que muestra "28 miles per hour".

Pasos siguientes

En esta lección, aprendió a encontrar y corregir errores en tiempo de ejecución. En la lección siguiente obtendrá información sobre el tercer tipo de errores de programación: los errores lógicos. Puede explorar técnicas de depuración más avanzadas en Información detallada: qué ocurriría si... Comprobar código en la ventana Inmediato y continuar después con la lección de los errores lógicos.

Siguiente lección: ¿Qué? Esto no debiera haber ocurrido. Encontrar errores lógicos

Vea también

Tareas

Encontrar y eliminar errores del compilador

Conozca sus errores: tres tipos de errores de programación

Encontrar errores: introducción a la depuración en Visual Basic