¿Que pasa cuando tratamos de usar un método o una data que no tenemos declarada dentro una clase?
Seguramente, la aplicación nos mostrará un hermoso mensaje de error y con él, la finalización nada elegante de nuestro desarrollo.
Esto me sucedía de una forma frecuente cuando usaba la clase ToleAuto y algún componente que soporte OLE, como puede ser (Excel, Word, Access, etc, etc).
Les voy a mostrar la manera en que resolví este fastidioso problema.
Vamos a hacerlo con un ejemplo usando la clase Texcel.
FUNCTION Test()
oExcel := TExcelScript():New()
oExcel:Visualizar(.T.)
RETURN( Nil )
Este sencillo ejemplo no tiene ningún problema.
Ahora vamos a forzar un error.
FUNCTION Test()
oExcel := TExcelScript():New()
oExcel:Visualiza(.T.)
RETURN( Nil )
¿Ya lo notaron? , ¿Ya ubicaron el error?
¡¡¡ Efectivamente ¡!!! El método visualiza(.T.) no existe y obtendríamos un mensaje de error como este:
-- Error description: Error BASE/1004 Message not found: TEXCELSCRIPT:VISUALIZA
Para resolver esto, vamos a usar el manejador de errores.
Lo primero que debemos de hacer es la declaración dentro de nuestra clase.
CLASS TexcelScript
METHOD ….
METHOD ….
METHOD ….
METHOD ….
ERROR HANDLER ERROR()
ENDCLASS
Y segundo, programar nuestro método Error (), que quedaría de esta forma.
METHOD ERROR () CLASS TExcelScript
MsgInfo( "La propiedad "+__GetMessage() +" no existe " , "Aviso al usuario")
RETURN
Por supuesto que ustedes pueden agregar más sentencias a ese método, por lo pronto para mi es suficiente.
Seguramente, la aplicación nos mostrará un hermoso mensaje de error y con él, la finalización nada elegante de nuestro desarrollo.
Esto me sucedía de una forma frecuente cuando usaba la clase ToleAuto y algún componente que soporte OLE, como puede ser (Excel, Word, Access, etc, etc).
Les voy a mostrar la manera en que resolví este fastidioso problema.
Vamos a hacerlo con un ejemplo usando la clase Texcel.
FUNCTION Test()
oExcel := TExcelScript():New()
oExcel:Visualizar(.T.)
RETURN( Nil )
Este sencillo ejemplo no tiene ningún problema.
Ahora vamos a forzar un error.
FUNCTION Test()
oExcel := TExcelScript():New()
oExcel:Visualiza(.T.)
RETURN( Nil )
¿Ya lo notaron? , ¿Ya ubicaron el error?
¡¡¡ Efectivamente ¡!!! El método visualiza(.T.) no existe y obtendríamos un mensaje de error como este:
-- Error description: Error BASE/1004 Message not found: TEXCELSCRIPT:VISUALIZA
Para resolver esto, vamos a usar el manejador de errores.
Lo primero que debemos de hacer es la declaración dentro de nuestra clase.
CLASS TexcelScript
METHOD ….
METHOD ….
METHOD ….
METHOD ….
ERROR HANDLER ERROR()
ENDCLASS
Y segundo, programar nuestro método Error (), que quedaría de esta forma.
METHOD ERROR () CLASS TExcelScript
MsgInfo( "La propiedad "+__GetMessage() +" no existe " , "Aviso al usuario")
RETURN
Por supuesto que ustedes pueden agregar más sentencias a ese método, por lo pronto para mi es suficiente.
Comentarios