Page 1 of 1

Capturar un error

Posted: Wed May 11, 2011 7:42 pm
by cmarucco
Hola Amigos:
Necesito saber como puedo saber o capturar el momento en que se produce un error....
Ejemplo: Estoy usando
oExcel := TOleAuto():New( "Excel.Application", .F. )
oExcel:WorkBooks:Open(cNombre_archivo:=cGetFile("Consignas\*.*", "Seleccione Fichero"))
Hasta aca perfecto, pero si continuo con el proceso, y se produce un error, por ejemplo "array access", el aplicativo se cancela y al no poder ejecutar
oExcel:Quit(), el EXCEL.EXE sigue ejecutandose como proceso con la planilla seleccionada abierta, y por cada vez que se produce un error, se suman EXCEL.EXE en procesos, que los tengo que eliminar con el administrador de tareas....Lo interesante es que si se puede "capturar" el momento del error, se pueda realizar alguna otra operacion para subsanarlo o avisarle a usuario final, como por ejemplo..... "La Variable xx adquirio un valor 0 o invalido"....

Re: Capturar un error

Posted: Wed May 11, 2011 11:31 pm
by horacio
Puedes usar try, catch, end para controlar cualquier tipo de errores. Espero te sirva
Salu2

Re: Capturar un error

Posted: Thu May 12, 2011 2:03 pm
by cmarucco
Gracias Horacio, funciona !!!! pero ya que estamos ( y esto es para Antonio) .. como se captura lo siguiente en el error.log.......

Application
===========
Path and name: S:\Sistemas\Proyectos\Auditoria\Menu.Exe (32 bits)
Size: 2,227,712 bytes
Time from start: 0 hours 0 mins 11 secs
Error occurred at: 12/05/2011, 10:29:06
Error description: Error BASE/1099 Argument error: STR
o este otro mensaje
Error description: Error BASE/1003 Variable does not exist: N
Args:
[ 1] = U
[ 2] = U
[ 3] = U
Variables in use
================
Procedure Type Value
==========================
DIAGNOSTICOS
Local 1: U
Local 2: U
Local 3: U
Local 4: U
Etc.... Etc....
Todo esto es a los fines de "tratar" de que no aparezca la ventana de error al momento de que este se produzca. Y aqui se denota la edad del suscrito,,,,,, los que venimos migrando de cobol, existe los FILE STATUS, con lo cual se pueden intepretar los errores. Existe algo parecido ...???

Muchas Gracias ...

Re: Capturar un error

Posted: Thu May 12, 2011 3:00 pm
by horacio
Puedes hacer de la siguiente manera:
Try
//tu rutina
Catch oError
? oError : Description, oError : Operation
End
Salu2

Re: Capturar un error

Posted: Thu May 12, 2011 4:54 pm
by cmarucco
Horacio: Muchisimas gracias por las respuestas ... todo muy claro ...

Un Abrazo