Skip to content

clase básica para la gestión de Excepciones en vfp

Notifications You must be signed in to change notification settings

raulvfp/catchException

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

catchException

Esta es una clase de VFP que tiene como fin capturar las excepciones y grabarlas en un log y si es necesaria relanzarlas a nivel superior.

Dependencies

None! There is no dependency!

Installation

git clone https://github.com/raulvfp/catchException.git catchException

Usage

Properties:

  • None! There are no defined properties

Methods:

  • init(bRelanzarThrow) : Es el unico metodo accesible. El metodo constructor.
    • bRelanzarThrow: Booleano que indica si se relanza la excepcion con un THROW.

Example:

1º - Este ejemplo no relanza la excepcion a nivel superior, sino que la controla en el bloque catch

    bRelanzarThrow = .F. &&NO Relanza la excepcion.
    TRY 
        *--- Este es una excepcion generada con THROW
        THROW lcExpectedValue 

    CATCH TO loEx
        loTmp = CREATEOBJECT('catchException', bRelanzarThrow)
        
        THIS.MessageOut('Esto me indica si es un error o algo generador por el programador: ' +loEx.Message)
        THIS.MessageOut('Valor de userValue: '+loEx.UserValue)
    ENDTRY

2º - Este ejemplo la execpcion es lanzada a un nivel superior para su control

    bRelanzarThrow = .T. &&Relanza la excepcion al nivel superior.
    TRY 
        *--- Este es una excepcion generada con THROW
        THROW lcExpectedValue 

    CATCH TO loEx
        loTmp = CREATEOBJECT('catchException', bRelanzarThrow)
        *-- No se ejecuta nada despues del CREATEOBJECT('catchException')
    ENDTRY