Capturar Error.

Post Reply
User avatar
omarelunico
Posts: 33
Joined: Sun May 14, 2006 7:31 am
Location: Lima - Perú

Capturar Error.

Post by omarelunico »

Consulta.
El siguiente error de índice sale cuando está mal el índice o existe corrupción, lo que quisiera saber es si hay alguna manera de coger este error como se hace en java, para que no salga esa pantalla, lo que quiero es capturar el error y de esa manera indizar la tabla antes de que salga dicho mensaje.
En conclusión como determinar si hay error de índice, y en ese caso como saberlo antes de que salga esta ventana e indizarlo antes de que salga la ventana.

Image
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Re: Capturar Error.

Post by Daniel Garcia-Gil »

Hola

Usa TRY / CATCH / END

Code: Select all

try
   mi codigo
catch oError
   procesar el error
end
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
User avatar
omarelunico
Posts: 33
Joined: Sun May 14, 2006 7:31 am
Location: Lima - Perú

Re: Capturar Error.

Post by omarelunico »

en fivewin como podría ser el CATCH?
El error ocurre en la siguiente linea
USE ( cDatabase ) NEW SHARED
como se podría capturar el error ahí?
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Re: Capturar Error.

Post by Daniel Garcia-Gil »

Hola

Code: Select all

try
  USE ( cDatabase ) NEW SHARED 
catch oError
   MsgAlert( "error abriendo la tabla" )
end
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
User avatar
omarelunico
Posts: 33
Joined: Sun May 14, 2006 7:31 am
Location: Lima - Perú

Re: Capturar Error.

Post by omarelunico »

Gracias Daniel, pero no he podido hacerlo de la manera que me indicas, logré solucionarlo de otra manera, utilizando
el prg errsysw.prg incluyendolo dentro de mis prgs

ErrorBlock( {|e| MsgStop( ErrorMessage(e) + " from Errorsys, line:" + ;
Str( ProcLine( 1 ), 3 ) ), __quit() } )
IF UPPER(e:Description)="CORRUPTION DETECTED"
DBCLOSEALL()
If LEFT(RIGHT(e:FileName,12),8)$"tablaaindizar"
indizartabla()
Endif
Endif


Daniel, del otro modo que me indicas me sale error al compilar
try
USE ( cDatabase ) NEW SHARED
catch oError
MsgAlert( "error abriendo la tabla" )
end

Harbour Compiler Alpha build 46.2 (Flex)
Copyright 1999-2006, http://www.harbour-project.org/
Compiling 'wsicnet.prg' and generating preprocessed output to 'wsicnet.ppo'...
wsicnet.prg(92) Error E0030 Syntax error: "parse error at '<eol>'"
wsicnet.prg(94) Error E0030 Syntax error: "parse error at 'OERROR'"
wsicnet.prg(97) Error E0030 Syntax error: "parse error at '<eol>'"
wsicnet.prg(105) Error E0030 Syntax error: "parse error at 'ENDIF'"
wsicnet.prg(123) Error E0030 Syntax error: "parse error at 'ENDDO'"
wsicnet.prg(126) Error E0030 Syntax error: "parse error at 'ELSE'"
wsicnet.prg(129) Error E0030 Syntax error: "parse error at 'ENDIF'"
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Capturar Error.

Post by Antonio Linares »

Omar,

En vez de tu solución usa BEGIN SEQUENCE:

http://www.ousob.com/ng/53guide/ngfc7b7.php
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply