FoxPro/Visual FoxPro - Ayuda! Entendiendo el TRY / ENDTRY

   
Vista:

Ayuda! Entendiendo el TRY / ENDTRY

Publicado por Andrea (325 intervenciones) el 30/07/2009 20:44:02
Hola a todos!!

Estuve investigando y leyendo sobre la estructura TRY / ENDTRY pero necesitaría que me confirmen desde sus experiencias (seguramente más importantes que la mía) si esto se arma así

En cualquier parte del programa armamos esta estructura

LOCAL lError AS Exception

TRY
__ * código que podría dar un error

CATCH TO lError

__* como si fuera un DO CASE / ENDCASE voy tomando cada nº de error y aviso que está

FINALLY
__ * Pasa por acá si o sí

ENDTRY

Ahora si esto está bien mis dudas son las siguientes:

1) ¿En qué parte del programa conviene poner este código? (LOAD, INIT de un form, por ejemplo?)

2) ¿Para qué se utiliza el bloque FINALLY?

3) Suponiendo que capturo el error, si no se solucionó ¿en qué parte de la estructura se ubica el programa?

MUCHAS GRACIAS!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Mauricio

Ayuda! Entendiendo el TRY / ENDTRY

Publicado por Mauricio (1368 intervenciones) el 07/08/2009 01:31:17
Andrea, aca otro ejemplo:
Un pequeño ejemplo de cómo podemos darle uso a la clase Empty, y usarlo a nuestra conveniencia...

*---------------------------------------------------------------------
* EmptyObject(fieldsList)
* Receives a list of fields separated by comma
* Returns an empty object with empty properties
* Recibe una lista de campos sepados por comas
* Retorna un objeto Empty con propiedades basadas
* en objetos empty
*---------------------------------------------------------------------

* Test:
Customer = EmptyObject("Name,Address,Phone,Contacts[5]")
Customer.Address = EmptyObject("Street,City,State,Zip,Country")
Customer.Name = "John Doe"
Customer.Phone = "555-1234"
Customer.Address.City = "Sunny Beach"
Customer.Address.State = "FL"
Customer.Address.Zip = "12345"
Customer.Contacts[1] = "Jane Doe"
Customer.Contacts[2] = "Jim Doe"
*** Revise el objeto Customer
Set Step On && Check out Customer object
Return Customer

*---------------------------------------------------------------------
Function EmptyObject
LParameters fieldsList As String

If Empty(fieldsList) Then
Return Null
Endif

Local Array fieldsArray[1]
Alines(fieldsArray,fieldsList,.T.,",")

Local oEmpty
oEmpty = NewObject("Empty")

Try
For Each item In fieldsArray
AddProperty(oEmpty,item,"")
Endfor
Catch
oEmpty = Null
Endtry

Return oEmpty
EndFunc
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar