Power Builder - Como controlar los errores

 
Vista:

Como controlar los errores

Publicado por Antonio (1 intervención) el 30/11/2006 21:13:24
miren, por ejemplo tengo 5 lineas de codigo y en cuaquiera de ellas se puede producir un error y se cierra todo el programa.
Mi pregunta como hago para evitar q se cierre mi programa algo asi como el :
try
//codigo
cacth
//atrapo el error y hago algo al respecto
end try
estoy trabajando con power builder 10.5 y no se como hacerlo.

Gracias por la ayuda q me puedan dar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como controlar los errores

Publicado por Milson Cardona (613 intervenciones) el 01/12/2006 14:07:56
Un saludo especial desde Colombia

Bueno amigo, hasta donde yo conozco, creo que no se puede hacer lo que tu deseas con Power Builder, al menos, así tan tan parecido a JAVA por ejemplo.

pero en el objeto APLICATION, puedes encontrar un evento llamado SYSTEMERROR. este evento se dispara inmediatemente después de producirse un error en el código e inmediatamente antes de que se cierre la aplicación.

en este evento puedes colocar por ejemplo UN ROLLBACK, también un mensaje más descriptivo del error, organizado todo en una ventana apropiada, ya que el evento tiene como argumentos el error, la línea, el objeto que lo provoco y muchas otras cosas.

espero que puedas hacer algo para resolver el problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como controlar los errores

Publicado por Milson Cardona (613 intervenciones) el 01/12/2006 14:30:04
Un saludo especial desde Colombia..

te pido disculpas por el error de omisión, ya que la información del error no se encuentra en los argumentos del evento SYSTEMERROR, sino en un objeto llamado ERROR...

con estas líneas puedes recuperar alguna de la información del evento
//numero de error
em_nroerror.text = string(error.number)
//descripcion del error
mle_descripcion_error.text = UPPER(error.text)
//ventana o menu
em_objeto_padre.text = string(error.windowmenu)
//objeto
em_objeto_error.text = string(error.object)
//evento donde ocurrio el error
em_evento_error.text = error.objectevent
//linea donde ocurrio el error
em_linea_error.text = string(error.line)

disculpame nuevamente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como controlar los errores

Publicado por Jorge E (110 intervenciones) el 01/12/2006 16:44:28
en el evento systemerror de la aplicacion. en una variable de tipo string captura el:
string(error.line)
string(error.number)
error.text
error.objectevent
error.object
error.windowmenu
y lo muestras como un mensaje. si quieres lo puedes poner las opciones en el mensaje, salir, omitir

una idea mejor. si quieres poner una opción imprimir al cuadro de error pasos a seguir.
1.- crea un window con un control datawindow, tres botones (salir, omitir, imprimir)
2.- crea un objeto datawindow tipo external con 6 campos (linea, numero, objeto, objeto_evento,descripcion,window_menu)
3.- en el open del window
dw_1.Insertrow(1)
dw_1.setitem(1,"linea",string(error.line))
dw_1.setitem (1,"numero",string(error.number))
dw_1.setitem(1,"objeto",error.object)
dw_1.setitem(1,"objeto_evento",error.objectevent)
dw_1.setitem(1,"descripcion",error.text)
dw_1.setitem (1,"window_menu" ,error.windowmenu)
4.- en el evento systemerror de la aplicacion
open(w_error) // suponiendo que tu window lo pusiste w_error
5.- boton salir
Rollback;
Disconnect using sqlca;
Halt;
6.- boton omitir (cierra la ventana ignorando el mensaje)
Open(w_error)
7.- imprimir (imprime el error)
dw_1.print()


Saludos Lima - Perú
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar