FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
uso del try
Amigos la funcion try opera con todos los errores de ejecucion ?
sucede que puse try antes de un error de despliege de datos y no salta al except(error9). este es el caso gracias if dmBasedatos.tbkcli903.FindKey( [lv_rut] ) then begin try ShowMessage(dmBasedatos.tbkcli903['b_atc903']); except ShowMessage('error9') end; |
#2
|
||||
|
||||
No entiendo tu logica podrias explicarlo con pseudocodigo o en tus palabras q quieres q haga el codigo?
|
#3
|
|||
|
|||
try
Cita:
por lo tanto emplee un try para saltar el error try despliego datos (aqui se produce el error de dato invalido) except envio mensaje de error mi pregunta es por que no salta al parrafo de except |
#4
|
||||
|
||||
Deja ver si te entendi. Quieres q si no se encuentra el registro se despliegue un mensaje de error para comunicar al usuario q el registro no existe?
|
#5
|
||||
|
||||
la ejecución del programa saltará a la clausula except siempre que algo eleve una excepción (algo de lo que se ejecuta después de try y antes de except). Hay bibliotecas que están programadas al muy antiguo estilo (o muy mal programadas) y devuelven códigos de error o informan ellas mismas al usuario.
El ShowMessage en raras ocasiones elevará una excepción... quizas solo por falta de recursos. la expresión dmBasedatos.tbkcli903['b_atc903'] no tengo idea si eleve una excepción, pues no tengo idea de que se trate. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#6
|
|||
|
|||
Te explico, el error se produce al usar el showmessage, por lo tanto intento con el try
para que salte el error y no caiga la aplicacion, pero la aplicacion se sigue cayendo, mi pregunta es por que no funciona el try? gracias dmBasedatos.tbkcli903.FindKey( [lv_rut] ) then begin try ShowMessage(dmBasedatos.tbkcli903['b_atc903']); except ShowMessage('error9') end; |
#7
|
|||
|
|||
Te explico, el error se produce al usar el showmessage, por lo tanto intento con el try
para que salte el error y no caiga la aplicacion, pero la aplicacion se sigue cayendo, mi pregunta es por que no funciona el try? gracias dmBasedatos.tbkcli903.FindKey( [lv_rut] ) then begin try ShowMessage(dmBasedatos.tbkcli903['b_atc903']); except ShowMessage('error9') end; |
#8
|
||||
|
||||
Q mensaje te envia al "caerse" la aplicacion?. Y que es dmBasedatos.tbkcli903['b_atc903'])?.
|
#9
|
||||
|
||||
Cita:
// Saludos |
#10
|
||||
|
||||
Y bien Cmena tu q dices?. Es lo q te menciona Roman o q?
|
#11
|
|||
|
|||
el error es "invalid variant type conversion" dmbasedatos es el datamodule, el tbcli903 es la tabla y el b_atc903 es el atributo (tipo caracter de largo 15) este cuando viene en blanco showmesagge se cae
gracias |
#12
|
||||
|
||||
Mira cmena yo ya probe el codigo y si salta al except Algo tienes mal en tu codigo no podrias poner el procedimiento completo o de menos unas lineas hacia arriba y otras hacia abajo?
|
#13
|
||||
|
||||
Cita:
// Saludos |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|