Rutina captura de erroes

194 views
Skip to first unread message

Fernando Reyes

unread,
Jan 18, 2012, 10:31:07 AM1/18/12
to BLOG FOX
Buenos dias gracias al blog por adelantado por la atención a esta consulta, una rutina de captura de errores que evite que el flujo del programa se corte, ya sea en apertura de archivos, en acceso a registros bloqueados, o a una ingreso incorrecto a un campo, y si es posible una breve explicación de su uso.

Gracias.

Fernando Reyes

Carlos Miguel FARIAS

unread,
Jan 18, 2012, 10:48:58 AM1/18/12
to publice...@googlegroups.com
Hay tres formas de controlar errores en vfp:
El viejo y conocido ON ERROR (que permite invocar una función pasandole parametros para manejar el error producido y en función del codigo, tomar alguna medida determinada por el usuario o por el propio codigo).
El otro caso es envolver las instrucciones que producen los cortes de flujo con la estructura try catch (vfp 8 y 9) y analizar los respectivos errores en el catch
por ultimo, si tu manejo de datos esta dentro de objetos, podes poner el codigo correspondiente dentro del metodo/evento error de la clase.
En el caso del on error y el metodo, si al terminar la acción, haces return, pasas a la sentencia siguiente a la que produjo el error, si utilizas RETRY; se vuelve a ejecutar la instrucción que produjo el error.
Sugiero veas la ayuda para dichos comandos.
Sugiero que busques en la lista de codigos de error (tambien en la ayuda) para ver todos los posibles errores que pueden producirse para las circunstancias que te interesen y poder determinar el tratamiento que te parezca mejor para utilizar.
El uso de try catch es el mas estandar de todos los modos de manejo de errores (c++, java, php, python, etc. usan ese mecanismo).
Saludos: Miguel, La Pampa (RA)

Lewis López

unread,
Jan 18, 2012, 10:51:52 AM1/18/12
to publice...@googlegroups.com
hola esta rutina manejas los errores en vfp.

PARAMETER merror, mess, mess1, mprog, mlineno
lnAnswer =messagebox('Error numero: ' + LTRIM(STR(merror))+CHR(13)+;
mess+ CHR(13)+;
'Linea de código: '+mess1+CHR(13)+;
'Prodedimiento: '+mprog, 2+48+512,'ERROR, ASAIE SOFT')
DO CASE
CASE lnAnswer = 3 &&Abort
CANCEL
CASE lnAnswer = 4 &&Retry
RETRY
OTHERWISE
RETURN
ENDCASE

La pegas en un prg y lo colocas al inicio de tu aplicativo.

Te maneja los errores en tiempo de diseño y ejecucion.

Saludos.

SOLUCIONES PC & REDES
Desarrollo de Software a la medida
Diseño de planos Arquitectónicos
Venta, reparación y mantenimiento de Computadores.
Lewis Oswaldo López Gómez .
Teg. En obras Civiles.
Analista y Programador de sistemas.
Cel: 311 665 0342
Correo:
Córdoba-Colombia




Date: Wed, 18 Jan 2012 12:48:58 -0300
Subject: Re: [vfp] Rutina captura de erroes
From: carlosmig...@gmail.com
To: publice...@googlegroups.com

extremo

unread,
Jan 18, 2012, 10:59:44 AM1/18/12
to Comunidad de Visual Foxpro en Español
para mi el mejor metodo es el on error ,ya que tu codigo se reduce de
forma notoria.

Bendiciones

On 18 ene, 12:51, Lewis López <lws_1...@hotmail.com> wrote:
> hola esta rutina manejas los errores en vfp.
> PARAMETER merror, mess, mess1, mprog, mlinenolnAnswer =messagebox('Error numero: ' + LTRIM(STR(merror))+CHR(13)+;       mess+ CHR(13)+; 'Linea de código: '+mess1+CHR(13)+;    'Prodedimiento: '+mprog, 2+48+512,'ERROR, ASAIE SOFT')DO CASE   CASE lnAnswer = 3 &&Abort               CANCEL  CASE lnAnswer = 4 &&Retry               RETRY   OTHERWISE               RETURNENDCASE
> La pegas en un prg y lo colocas al inicio de tu aplicativo.
> Te maneja los errores en tiempo de diseño y ejecucion.
> Saludos.
> SOLUCIONES PC & REDESDesarrollo de Software a la medidaDiseño de planos ArquitectónicosVenta, reparación y mantenimiento de Computadores.Lewis Oswaldo López Gómez .Teg. En obras Civiles.Analista y Programador de sistemas.Cel: 311 665 0342Correo:lws_1...@hotmail.com - l1w2s3_1...@yahoo.es Córdoba-Colombia
>
> Date: Wed, 18 Jan 2012 12:48:58 -0300
> Subject: Re: [vfp] Rutina captura de erroes
> From: carlosmiguelfar...@gmail.com
> To: publice...@googlegroups.com
>
> Hay tres formas de controlar errores en vfp:
> El viejo y conocido ON ERROR (que permite invocar una función pasandole parametros para manejar el error producido y en función del codigo, tomar alguna medida determinada por el usuario o por el propio codigo).
>
> El otro caso es envolver las instrucciones que producen los cortes de flujo con la estructura try catch (vfp 8 y 9) y analizar los respectivos errores en el catch
> por ultimo, si tu manejo de datos esta dentro de objetos, podes poner el codigo correspondiente dentro del metodo/evento error de la clase.
>
> En el caso del on error y el metodo, si al terminar la acción, haces return, pasas a la sentencia siguiente a la que produjo el error, si utilizas RETRY; se vuelve a ejecutar la instrucción que produjo el error.
> Sugiero veas la ayuda para dichos comandos.
>
> Sugiero que busques en la lista de codigos de error (tambien en la ayuda) para ver todos los posibles errores que pueden producirse para las circunstancias que te interesen y poder determinar el tratamiento que te parezca mejor para utilizar.
>
> El uso de try catch es el mas estandar de todos los modos de manejo de errores (c++, java, php, python, etc. usan ese mecanismo).
> Saludos: Miguel, La Pampa (RA)
>

Fernando Reyes

unread,
Jan 18, 2012, 11:20:06 AM1/18/12
to BLOG FOX
Muchas gracias por su ayuda es de verdad valiosa.

Saludos

Fernando

> Date: Wed, 18 Jan 2012 07:59:44 -0800
> Subject: [vfp] Re: Rutina captura de erroes
> From: protech...@gmail.com
> To: publice...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages