Así es. Lo ideal es que el Try abarque (intente) lo menos posible, de manera que sepas claramente cuál es el problema y qué hacer en consecuencia.
 
Salú,
  MS

 
On 10/13/06, David Brunstein <[EMAIL PROTECTED]> wrote:
Entiendo perfectamente lo que decis, pero no es conveniente poner el codigo dentro del bloque Try?
Vos lo decis porque hay un solo bloque Catch que atrapa una excepcion global?

En el caso del codigo que le propusiste a Pablo, no esta atrapando excepciones que pueden darse en cuando se hace el PACK y/o el APPEND BLANK.

No es asi?
Saludos,
Davo.


On 10/13/06, Martin Salias <[EMAIL PROTECTED] > wrote:
Hola, Davo.

Se puede, pero el problema es que perdés granularidad en la excepción que estás arrojando, pero con el mensaje que yo había puesto, no habría problema, porque le estoy diciendo que no se pudieron importar los datos. Fijate que hago el throw de una excepción mía con ese detalle, y en el UserValue incluyo la original, o sea que el consumidor de este código puede meterse para adentro y ver porqué no se pudo hacer la importación, si hiciese falta. Usualmente no se chequean estas cosas en un Try/Catch más eterno, pero si es útil si querés poner un manejador o log global de las excepciones, porque tenés todo el stack de excepciones disponibles, y podés armar todo el detalle.
 
Saludos,
   MS
 
On 10/13/06, David Brunstein < [EMAIL PROTECTED]> wrote:
Hola Pablo, Martin,

Se "deberia" hacer algo asi?

Try

 Use Tabla_destino IN 0 EXCLUSIVE
  Select Tabla_destino
  PACK
  APPEND FROM DBF(" Cursor_Origen ")
 
Catch to oEx
   local oTuExcepcion as Exception
   oTuExcepcion = NewObject( "Exception" )
   oTuExcepcion.ErrorNo = 9999
   oTuExcepcion.Message = "No se pudo acceder a la tabla para importar datos"
   oTuExcepcion.UserValue = oEx
   Throw oTuExcepcion
Finally
   Use in Tabla_destino
Endtry
 
return

Bah... no se... pregunto, vio?  :-)

Saludos,
Davo.



--
=======================
David Brunstein

Java/PB/VFP Developer
Winnipeg, MB
Canada

Before I speak, I have something important to say.
Antes de dar mi discurso, tengo algo importante que decir.
Antes de dar meu discurso, tenho algo importante para dizer.
G.M.



--
Martín Salías
www.Salias.com.ar
Agile Alliance Member - Microsoft MVP

Responder a