FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
No me sale el manejo de excepciones
Hola a todos:
Tengo el siguiente problemita, en realidad nunca he usado las excepciones en algún problema en delphi y necesito de su ayuda: ya he buscado en los foro, leido el libro de Ian Marteens y entendi pero no me sale Mi duda es la siguiente: Tengo un campo en la tabla Empleados en donde se almacena la ubicación de la imagen del empleado. Con el siguiente código muestro la imagen del empleado en caso de que exista el registro en la base de datos: Código Delphi [-] if not (Datamodule1.QueryGenerico.Fields[13].AsString = '') then begin FrmEmpleadosD.Imagen.Visible:=true; FrmEmpleadosD.Imagen.Picture.LoadFromFile(Datamodule1.QueryGenerico.FieldValues['img_empleados']); end; Pero por si alguna razón la imagen es borrada, eliminada, etc. Al ejecutar el programa muestra un error : Código:
exception class EFOpenError with message ‘Cannot open file “C:imágenes\empleado12.jpg”’. Estoy usando Delphi 7 y Access y la conecto mendiante ADO. Gracias de antemano por ayudarme. |
#2
|
||||
|
||||
Buenas!
Ten en cuenta que si estás ejecutando el programa desde el IDE te va a saltar la excepción como si no estuviera controlada, prueba ejecutando directamente el exe fuera del IDE y verás el comportamiento exacto. En principio el manejo de excepciones deberá ser:
Un saludo Edu |
#3
|
||||
|
||||
Vayamos por partes:
Lo primero es definir nuestras propias excepciones, a mí me gusta hacerlo para cada proyecto: Esto lo ponemos en alguna unidad que se use en todo el proyecto, para tenerla a mano. Cuando queremos lanzar una Excepción usamos:
Para el caso concreto, entre otras formas, podemos hacerlo así:
Como sabes, al producirse una excepción se corta la ejecución del programa justo en la línea "raise ..." por tanto, en el caso de que no se encuentre la imagen, no se hará visible el TImage. Cuando el archivo se encuentre, pues se obvia las lineas del manejo de excepciones y despues sí se hará visible. Si te fijas en el mensaje de la excepción, no digo que no se ha encontrado la imagen, sino que no puede cargarse. El método LoadFromFile puede que lance un error de "formato de imagen no válida" en lugar del tipico "no se encuentra el archivo". Saludos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#4
|
|||
|
|||
Ya salio
Gracias Lepe y Edu ambas respuestas me aclararon mucho este asunto sobre las excepciones y pos ya le entendi completamente al manejo de excepciones gracias a Lepe, y sin tu comentario Edu habria seguido frustrado pensando en que no salia jajaja
Saludos desde El bello puerto de Veracruz!!! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
manejo de excepciones try y except no funciona | gulder | Conexión con bases de datos | 4 | 10-11-2005 14:50:00 |
manejo de excepciones | el_barto | Varios | 4 | 08-06-2005 09:48:36 |
Ayuda con Manejo de Excepciones | buffygcs | SQL | 2 | 21-04-2005 17:52:09 |
query report ¿Por q sale sale solo el primer registro? | acl_gandalf | Impresión | 2 | 31-03-2005 02:14:20 |
|