def add(dn, entries, options={})
begin
operation(options) do
yield(dn, entries)
end
rescue LdapError::NoSuchObject
raise EntryNotFound, _("No such entry: %s") % dn
rescue LdapError::InvalidDnSyntax
raise DistinguishedNameInvalid.new(dn)
rescue LdapError::AlreadyExists
raise EntryAlreadyExist, _("%s: %s") % [$!.message, dn]
rescue LdapError::StrongAuthRequired
raise StrongAuthenticationRequired, _("%s: %s") % [$!.message, dn]
rescue LdapError::ObjectClassViolation
raise RequiredAttributeMissed, _("%s: %s") % [$!.message, dn]
rescue LdapError::UnwillingToPerform
raise OperationNotPermitted, _("%s: %s") % [$!.message, dn]
end
end