FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Captura de errores con Harbour
Posts: 33
Joined: Mon Oct 17, 2005 11:56 PM
Captura de errores con Harbour
Posted: Tue Dec 20, 2005 11:54 PM

Saludos.
Estoy usando la clase TOle con Harbour y necesito capturar uan excepcion cuando estoy abriendo una conexio ADO a una BD de datos SQL Server. Trate de BEGIN SEQUENCE y nada. Me muestra el error y se sale del programa
Hay alguna construccion que me permita capturar errores desde mi aplicacion ?

Posts: 840
Joined: Thu Oct 13, 2005 07:05 PM
Captura de errores con Harbour
Posted: Wed Dec 21, 2005 05:07 PM

Yamil, los errores que comentas que se producen no se pueden interceptar desde programa porque son generados por ADO (programa externo), supongo que ADO tendra algun metodo que te permita interceptar el error desde programa para luego hacer lo que tu quieras

Saludos

R.F.
Posts: 33
Joined: Mon Oct 17, 2005 11:56 PM
Captura de errores con Harbour
Posted: Wed Dec 21, 2005 07:16 PM

Gracias Rene por tu respuesta pero el caso es que xHarbour usas Try.. Catch y lo puedes capturar pero en Harbour no he conseguido la manera.
En otros lenguajes donde puedes usar ADO usas el correspodiente manejo de errores que te proporciona el lenguaje con On Error (guacala..!), el Try.. Catch de .NET, etc

Posts: 229
Joined: Wed Oct 12, 2005 05:32 PM
Captura de errores con Harbour
Posted: Wed Dec 21, 2005 07:48 PM
Yamil,

Usando esto:

       BEGIN SEQUENCE
         ::oConnection:Open( cConnString, cUserId, cPassword, nOptions)
       RECOVER USING oError
          lResult := .F.
          MsgStop(oError:Operation+CRLF+oError:Description,"Ado Connection")
          MsgInfo("Yeahhh")
       END SEQUENCE

Donde ::oConnection es un objeto Connection de ADO debería de capturar el error y seguir en RECOVER USING. No obstante, esto no evita que salga el mensaje de error de ADO y los que añadas.

No obstante, si no te es mucho inconveniente, podrías usar xHarbour y dejar el código de la siguiente manera:

       TRY
         ::oConnection:Open( cConnString, cUserId, cPassword, nOptions)
       CATCH oError
          lResult := .F.
          MsgStop(oError:Operation+CRLF+oError:Description,"Ado Connection")
       END

En este caso, el único mensaje que aparecerá es el que tu muestras con el MsgStop. Si quieres ver algunos ejemplos y dos clases básicas para utilizar ADO con xharbour, están en www.capelblog.com

Espero haberte sido de ayuda.

Saludos,
José Luis Capel
www.capelblog.com
Posts: 33
Joined: Mon Oct 17, 2005 11:56 PM
Captura de errores con Harbour
Posted: Fri Dec 23, 2005 01:02 AM

Gracias Jose Luis por la confirmacion de mis sospechas.
Es una lastima que Harbour no ofrezca esta facilidad, quizas por ahora asi que voy a usar xHarbour

Saludos y gracias

Posts: 189
Joined: Mon Nov 07, 2005 07:36 PM
Captura de errores con Harbour
Posted: Sat Nov 24, 2007 12:54 AM

Yamil.
Puedo contactarme contigo via correo ?
Lo agradeceria
Saludos

Julio Gonzalez V.

RANDOM S.A.

SISTEMICA S.A.

Continue the discussion