Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   try... except ¿Para qué? (https://www.clubdelphi.com/foros/showthread.php?t=74413)

jhonalone 17-06-2011 18:27:03

try... except ¿Para qué?
 
Hola compañeros.
De nuevo con problemas.

Tengo una instrucción de apertura de base de datos dentro de un bloque try... except con la sana intención de controlar cualquier posible error que se pueda producir al intentar abrir la BD.

Pues bien, no me sirve.

Si no se encuentra la base de datos, salta el error del Debugger Exception Notification: EDBEngineError with message "Table does not exist"

No entiendo que salte el error del Debugger, estando dentro del bloque try... except.

¿No debería tomar el control mi manejador de instrucciones del bloque except?

Por favor, si alguien tiene la respuesta, agradecería que la compartiera conmigo y con alguien más que pueda caer en este error.

Os pongo el código.

Código Delphi [-]
try
database1.Session.NetFileDir:=DirActual;
ClienDB.DatabaseName:=DirActual;
ActosDB.DatabaseName:=DirActual;
ClienDB.Open;
ActosDB.Open;
except
....... // mi mensaje de error

roman 17-06-2011 18:31:50

Aun con el bloque try-except, el error va a saltar si ejecutas el programa desde el IDE y tienes habilitada la opción "Stop on Delphi Exceptions". Si ejecutas el programa fuera del IDE no debería saltarte la excepción.

En Delphi 7, la opción mencionada está en Tools|Debugger options", ficha "Language Exceptions".

// Saludos

Al González 17-06-2011 18:38:28

Suscribo lo dicho por Román. +1



:)

javier7ar 17-06-2011 18:49:28

Como bien te explicaron, el debugger de Delphi para la ejecucion cuando salta el error, pero con apretar F9 sigue la ejecucion de la parte del except. Tambien podes apretar F7 o F8 para ir mirando las instrucciones que se van ejecutando.
Saludos

jhonalone 17-06-2011 19:29:47

¡Tenéis toda, toda la razón!

Gracias a todos por vuestras rápìdas y acertadas respuestas.

¡La cantidad de cosas que nos faltan por aprender...!

Un Saludo.


La franja horaria es GMT +2. Ahora son las 20:42:45.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi