Yo lo haría con un bloque try...except...end
Pongo el ejemplo con componentes del BDE pero sería lo mismo con cualquier otro
Código:
begin
try
Database1.Open;
except
on E: Exception do
ShowMessage('No se ha podido conectar. Mensaje de error:'#13+E.Message);
end;
end;
Espero te sirva