Imagino que puedes interceptar esa excepción a nivel de aplicación en el evento OnException. La forma más fácil de asignar un procedimiento para manejar ese evento es usando el componente ApplicationEvents (pestaña "Additional" en la Paleta de Componentes) si es que viene en tu versión de Delphi, si no, tendrás que asignar el evento programáticamente (mira el ejemplo en la ayuda del evento OnException del objeto TApplication).
Como sea, en el manejador del evento OnException, Sender es el objeto que lanzó la excepción, y E es la excepción. Llama a Application.ShowException(E) si quieres mostrar el diálogo estándar para la excepción, y no hagas nada si no quieres mensaje alguno. También puedes definir tus mensajes personalizados. Ejemplo:
procedure TForm1.AppException(Sender: TObject; E: Exception);
begin
if E is EDBEditError then
with Sender as TMaskEdit do
Application.MessageBox(PChar(Format(
'El valor "%s" es incompatible con la máscara "%s".',
[Text, EditMask]), PChar(Application.Title),
MB_OK + MB_ICONSTOP)
else
Application.ShowException(E)
end;
Espero que te sirva.
Ernesto De Spirito
http://www.latiumsoftware.com/es/index.php