Utiliza Try..Except.
Los errores de ADO generan excepciones de tipo EOLEException (busca en la ayuda de Delphi).
Código Delphi
[-]
...
try
ADOTabla.Edit;
...
except
on E:EOLEException do begin
if (E.ErrorCode = -2146825267) then begin
BoxAviso('El registro ya ha sido borrado...' + E.Message);
end
else if (E.ErrorCode = -2147217905)
BoxAviso('Se ha producido un error al intentar bloquear el registro. ' + E.Message);
end
else begin
BoxAviso('Error ADO Desconocido; ' + E.Message);
end;
end
else begin
raise;
end;
end;
En un ejemplo, y te lo he puesto de memoria sin compilar, así que tal vez haya algun error de sintaxis, pero la idea es esa.
En cuanto a los códigos de error de ADO, los puedes encontrar por internet; Por ejemplo
aquí.