Controlar excepciones

Al igual que otros lenguajes de programación, Windev dispone de varias opciones para controlar las excepciones que puedan ocurrir en la ejecución de los distintos procesos.  Para más información, consultar la siguiente dirección https://ayuda.windev.es/es-ES/?3034004

También es posible, aunque no siempre recomendable, el uso de una EXCEPCIÓN GENERAL que se ejecutará siempre que ocurra un error fuera de la gestión de otro control de EXCEPCIÓN.  Para ver más información, consultar la siguiente dirección https://ayuda.windev.es/es-ES/?3034001

Si ponemos el siguiente código en el inicio de nuestro proyecto, cuando ocurra un error, fuera del otro control de excepciones, se grabará el error en el fichero de LOG y se cerrará la aplicación  (aquí se podría personalizar nuestro método de registro de errores y avisos al usuario)

gdDiaInicio is Date = Today()
gtHoraInicio is Time = TimeSys()

// Este código se ejecuta cuando ocurre un error fuera de un control de EXCEPCIÓN.
// Se captura cualquier error que se produzca y se muestra el mensaje siguiente y se finaliza la aplicación
WHEN EXCEPTION
   fSaveText("Errores_generales.log",gdDiaInicio.ToString("DD:MM:YYYY") + " " + gtHoraInicio.ToString("HH:MM:SS") + CR + "Error: " + ExceptionInfo())
   EndProgram()
END

NOTA: En FoxPro se puede poner el siguiente comando: “ ON ERROR * ”, lo que hará es que la aplicación no muestre ni trate ninguno de los errores que se produzcan, continuando el código siguiente al error producido.  En Windev, si se hace uso del código anterior y no se finaliza el programa, al ocurrir un segundo error no se ejecutaría dicho código, ya que solo se puede ejecutar una vez.