La Web del Programador: Comunidad de Programadores
 
    Pregunta:  789 - MANEJO DE EXCEPCIONES EN DELPHI
Autor:  Juan Carlos
NECESITO SABER COMO PUEDO MANEJAR EN DELPHI EL BLOQUE DE CODIGO TRY ON EXCEPT, NO E OBTENIDO RESULTADOS CON EL.
GRACIAS A QUIEN ME PUEDA COLABORAR

  Respuesta:  Cesar Galdames
try
data.EQ_Borra_Marcas.Active := false;
data.EQ_Borra_Marcas.Params[0].Value := dbgrid3.Columns[0].Field.value;
data.EQ_Borra_Marcas.Active := true;
except
messagedlg(\'El registro no puede ser eliminado, ya se encuentra asignado.\',mtError,[mbOk],0);
end;

esto controla la eliminacion de un registro, cuando presenta relacion de claves con registros de otras tablas el bloque en el cual crees que se producira una ecepcion lo encierras en el try , luego lanzas la ecepcion en el except y cierras el ciclo funciona muy parecido al ciclo for, recuerda que esto solo funciona con el ejecutable del programa, no cuando compilas el codigo.

  Respuesta:  Roberto Morales
Por lo que entiendo en tu pregunta creo que te refieres a que delphi sigue marcando la excepción siempre, esto es asi por que en debugger options, esta activada la opción stop on Exception, desactivala o bien dejala tal cual y al momento de linkear el programa y ejecutarlo sin el rad de delphi, ya no emitira el mensaje de la exception, solo se manejara como lo hayas programado.

  Respuesta:  Juan José Aller
Esto no es demasiado complicado. Verás, una excepción es un señal provocada por un error, tal como puede ser una división por cero o el intento de acceso a los datos apuntados por un puntero nulo. Todo lo que se debe hacer es manipular el código que genera esa señal (provisto por el compilador), interceptando dicha excepción antes de que el programa se interrumpa. Para ello lo primero que debemos pensar, es en qué procesos de nuestro programa se podrían presentar inconvenientes, y por lo tanto, generarse errores. Una vez que los hallamos identificado, tendremos que "protegerlos" de una posible excepción. Esto se logra aislando el bloque a proteger entre las palabras TRY y EXCEPT, colocando detrás de esta última, las sentencias a ejecutar para solucionar el error, en caso de que se produzca una excepción. Seguido, como ya sabés, se finaliza la estructura de control con un END.

  Respuesta:  Mireya
Mira en el apartado de Biblioteca de Temas, ahi he colocado una explicación sobre el tema.