Ver Mensaje Individual
  #5  
Antiguo 27-10-2015
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Reputación: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cita:
Empezado por GustavoCruz Ver Mensaje
en el código no sé cómo capturar la excepción de tal manera que sólo me aparezca el texto de la excepción sin que me diga el resto de cosas, ej.
nombre de la excepción, trigger en el cual se ha lanzado, ubicación de la línea de código...
yo sólo quiero la descripción del error "No puedes eliminar el registro porque..."
Si te pone esa información es porque le dices que la ponga. La clase Exception tiene unas cuantas propiedades, la principal de ellas es "Message", que es la que contiene el mensaje de error. El resto de propiedades tienen información adicional, que a veces no es necesaria o deseable.

También has de notar que no es obligatorio usar el objeto lanzado. Incluso puedes hacer:
Código Delphi [-]
  TRY
    RAISE Exception.Create ('Esta es una excepción lanzada por mi.')
  EXCEPT
    Application.MessageBox ('Hubo una excepción', 'Ignorante')
  END;
Ese código mostrará el mensaje "[Ignorante] Hubo una excepción" independientemente de lo que haya en el objeto de excepción. De todas formas, no es recomendable. Mejor usar correctamente las excepciones:

Código Delphi [-]
  TRY
    ... { Código aquí... }
    IF IntentoBorrarYNoDebe THEN
      RAISE Exception.Create ('¡No puede eliminar eso!');
    ... { Código allá... }
  EXCEPT
    ON Error: Exception DO Application.MessageBox (Error.Message, 'Error')
  END;
Así mostrará el mensaje de error, y únicamente el mensaje de error.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita