Capturar errores
Hola,
me podeis explicar (si me escribis un par de lineas de codigo mejor) como capturar los errores?? (como el 'on error resume next' de VBasic.
Gracias
me podeis explicar (si me escribis un par de lineas de codigo mejor) como capturar los errores?? (como el 'on error resume next' de VBasic.
Gracias
LA FORMA DE CAPTURAR ERRORES QUE YO UTILIZO CREO QUE ES LA MAS RUDIMENTARIA Y FACIL DE APLICAR Y ES LA SIGUIENTE:
ESCRIBIR LO SIGUIENTE:
ON ERROR NombreProcedimiento&&Debes crear el procedimiento en un .prg
y a continuacion escribes las instrucciones o rutinas que tu crees podran provocar errorres. por ejemplo:
on error ErrorConcatenando
local nNumero,cCaracter,cConcatenar
nNumero=10
cCaracter="Jonathan"
cConcatenar=nNumero+cCaracter&&al menos que uses alguna funcion como val o str, esta linea provocara un erro y en ese momento se ejecutara On Error...
Espero que te sirva
ESCRIBIR LO SIGUIENTE:
ON ERROR NombreProcedimiento&&Debes crear el procedimiento en un .prg
y a continuacion escribes las instrucciones o rutinas que tu crees podran provocar errorres. por ejemplo:
on error ErrorConcatenando
local nNumero,cCaracter,cConcatenar
nNumero=10
cCaracter="Jonathan"
cConcatenar=nNumero+cCaracter&&al menos que uses alguna funcion como val o str, esta linea provocara un erro y en ese momento se ejecutara On Error...
Espero que te sirva
Que version de Vfp utilizas?.
La version 8 parece q lleva unos procedimientos incorporados.
En las otras versiones, te aconsejaria q no trates de establecer rutinas, ya q enmascaran el error y dificilmente te permiten continuar desde el punto de error.
La version 8 parece q lleva unos procedimientos incorporados.
En las otras versiones, te aconsejaria q no trates de establecer rutinas, ya q enmascaran el error y dificilmente te permiten continuar desde el punto de error.
* en un formulario principal o menu.
ON ERROR errores( ERROR(), MESSAGE(), MESSAGE(1), PROGRAM(), LINENO() )
procedure errores
PARAMETER merror, MESS, mess1, mprog, mlineno
? 'Directorio - Fecha y Hora : '+CURDIR()+' '+DTOC( DATE() )+' '+TIME()
? 'Número de error : ' + LTRIM(STR(merror))
? 'Mensaje de error : ' + MESS
? 'LÃnea de código con error: ' + mess1
? 'Número de lÃnea del error: ' + LTRIM(STR(mlineno))
? 'Programa con error : ' + mprog
?
MESSAGEBOX( CURDIR()+' '+DTOC( DATE() )+' '+TIME()+CHR(13)+ ;
'error nº '+LTRIM(STR(merror))+CHR(13)+;
ALLTRIM( MESS )+CHR(13)+;
ALLTRIM( mess1)+CHR(13)+;
'número de lÃnea del error: ' + LTRIM(STR(mlineno))+CHR(13)+ ;
'programa con error : ' + mprog , 48 , 'Se produjo un Error' )
ON ERROR
RETRY
ENDPROC
* on error solo te permite continuar desde el punto de error.
* poder direeccionar el texto a un archivo.txt para leerlo despues.
ON ERROR errores( ERROR(), MESSAGE(), MESSAGE(1), PROGRAM(), LINENO() )
procedure errores
PARAMETER merror, MESS, mess1, mprog, mlineno
? 'Directorio - Fecha y Hora : '+CURDIR()+' '+DTOC( DATE() )+' '+TIME()
? 'Número de error : ' + LTRIM(STR(merror))
? 'Mensaje de error : ' + MESS
? 'LÃnea de código con error: ' + mess1
? 'Número de lÃnea del error: ' + LTRIM(STR(mlineno))
? 'Programa con error : ' + mprog
?
MESSAGEBOX( CURDIR()+' '+DTOC( DATE() )+' '+TIME()+CHR(13)+ ;
'error nº '+LTRIM(STR(merror))+CHR(13)+;
ALLTRIM( MESS )+CHR(13)+;
ALLTRIM( mess1)+CHR(13)+;
'número de lÃnea del error: ' + LTRIM(STR(mlineno))+CHR(13)+ ;
'programa con error : ' + mprog , 48 , 'Se produjo un Error' )
ON ERROR
RETRY
ENDPROC
* on error solo te permite continuar desde el punto de error.
* poder direeccionar el texto a un archivo.txt para leerlo despues.
