Respecto a lo que quise decir anteriormente, primero marco que me equivoqué en una letra que deja sin sentido a toda la oración. Donde dice:
Así, en tu caso, es esa propiedad debes
tener el objeto loException que relanzaste en el bloque CATCH
debe decir:
Así, en tu caso, "en" esa propiedad debes
tener el objeto loException que relanzaste en el bloque CATCH
Habiendo corregido eso, pongo un ejemplo para aclarar lo que quería expresar:
TRY
TRY
a = "a" / 0
CATCH TO loErrorDivisionIncorrecta
THROW loErrorDivisionIncorrecta
ENDTRY
CATCH TO loError
loExcAnidada = loError.UserValue
MESSAGEBOX(loExcAnidada.Message)
ENDTRY
En este caso, se relanza explícitamente la excepción loErrorDivisionIncorrecta, pero, la excepción capturada (loError) ya no es la misma, sino que es una excepción de tipo 2071 (Excepción iniciada por el usuario) y que contiene anidada en la propiedad UserValue la excepción original. Luego, "lo que se puso luego de THROW" (loErrorDivisionIncorrecta) "fue a parar a la propiedad UserValue" (de loError). Espero haberme explicado mejor.
Igual, escribo esto solamente para no dejar inconclusa la pregunta, ya que la propuesta de Fernando es mucho más práctica y sencilla. La verdad, yo pensaba que era lo mismo THROW y THROW loException. Así que este tema me sirvió a mí también para aclarar ese tema.
Gracias. Saludos.