FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Capturar Error.
Posts: 33
Joined: Sun May 14, 2006 07:31 AM
Capturar Error.
Posted: Sat Dec 17, 2011 05:57 PM
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.

Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Capturar Error.
Posted: Sat Dec 17, 2011 06:06 PM
Hola

Usa TRY / CATCH / END

Code (fw): Select all Collapse
try
   mi codigo
catch oError
   procesar el error
end
Posts: 33
Joined: Sun May 14, 2006 07:31 AM
Re: Capturar Error.
Posted: Sat Dec 17, 2011 06:11 PM

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í?

Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Capturar Error.
Posted: Sat Dec 17, 2011 06:40 PM
Hola

Code (fw): Select all Collapse
try
  USE ( cDatabase ) NEW SHARED 
catch oError
   MsgAlert( "error abriendo la tabla" )
end
Posts: 33
Joined: Sun May 14, 2006 07:31 AM
Re: Capturar Error.
Posted: Mon Dec 19, 2011 05:01 PM

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'"

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Capturar Error.
Posted: Mon Dec 19, 2011 06:01 PM
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

Continue the discussion