ErrorHandler
Publicado: Jue Ago 07, 2008 12:54 am
Hola todos:
He encontrado que el método TMySQLDataSource:IsError() no funciona
cuando ocurre un error como por ejemplo, en el intento de creación de
una tabla que ya existe o en el intento de eliminación de una tabla que
no existe o en el intento de crear un query de una tabla que no existe,
y de que tampoco funciona TRY/CATCH en la parte donde CATCH atrapa al
objeto error "e", pues si se ve a través del debugger que "e" es un
objeto error, pero esta vacio o no se puede "abrir" para inspeccionar
sobre su uso, y por lo tanto no lo puedo usar en esa estructura, ya que
no funciona.
Ya estoy usando TRY/CATCH con nLastError y cLastError para atrapar
errores de MySQL e informar al usuario de ellos (que por cierto en
algunos casos nLastError contiene cero y cLastError nada), pero me
gustaría ofrecer más información al usuario sobre esto, ya que en mi
experiencia propia esta información (cuando ocurre un error en el
run-time de un sistema complejo) a quien más ayuda es a quien da
mantenimiento al sistema o sea Yo, por lo cual pensé en construir mi
propio errorhandler para insertarlo en mis proyectos Xailer.
Al insertar mi errorhandler en un proyecto descubro que aquí tampoco
tiene funcionalidad el objeto error "e", pues tampoco logro la
manipulación de sus propiedades (recordando las que había disponibles en
Clipper) pues se manifiesta como si todas ellas estuviesen sin valor
aunque si las reconoce Xailer y tampoco se puede "abrir" con el debugger
aquí.
Les suplico su ayuda, pues como menciona Ignacio OZ en una de sus
interesantes notas: "cuando se empiezan a manejar otros tipos de bases
de datos como puede ser cualquier base de datos SQL…….es imposible
conocer a priori si la operación va a tener éxito."
Alguien me puede decir como puedo manipular al objeto error e ?
Gracias por su ayuda.
Rene Ramón Elly.
He encontrado que el método TMySQLDataSource:IsError() no funciona
cuando ocurre un error como por ejemplo, en el intento de creación de
una tabla que ya existe o en el intento de eliminación de una tabla que
no existe o en el intento de crear un query de una tabla que no existe,
y de que tampoco funciona TRY/CATCH en la parte donde CATCH atrapa al
objeto error "e", pues si se ve a través del debugger que "e" es un
objeto error, pero esta vacio o no se puede "abrir" para inspeccionar
sobre su uso, y por lo tanto no lo puedo usar en esa estructura, ya que
no funciona.
Ya estoy usando TRY/CATCH con nLastError y cLastError para atrapar
errores de MySQL e informar al usuario de ellos (que por cierto en
algunos casos nLastError contiene cero y cLastError nada), pero me
gustaría ofrecer más información al usuario sobre esto, ya que en mi
experiencia propia esta información (cuando ocurre un error en el
run-time de un sistema complejo) a quien más ayuda es a quien da
mantenimiento al sistema o sea Yo, por lo cual pensé en construir mi
propio errorhandler para insertarlo en mis proyectos Xailer.
Al insertar mi errorhandler en un proyecto descubro que aquí tampoco
tiene funcionalidad el objeto error "e", pues tampoco logro la
manipulación de sus propiedades (recordando las que había disponibles en
Clipper) pues se manifiesta como si todas ellas estuviesen sin valor
aunque si las reconoce Xailer y tampoco se puede "abrir" con el debugger
aquí.
Les suplico su ayuda, pues como menciona Ignacio OZ en una de sus
interesantes notas: "cuando se empiezan a manejar otros tipos de bases
de datos como puede ser cualquier base de datos SQL…….es imposible
conocer a priori si la operación va a tener éxito."
Alguien me puede decir como puedo manipular al objeto error e ?
Gracias por su ayuda.
Rene Ramón Elly.