          except TypeError:
              return False
 +        except Exception, e:
-+            log.error("Unable to read properties: %s" % (e,))
 +            raise HTTPError(StatusResponse(
 +                statusForFailure(Failure()),
 +                "Unable to read properties"

 
         # Update the resource because we've modified it
         self.resource.fp.restat()
@@ -121,15 +189,34 @@
             # RFC 2518 Section 12.13.1 says that removal of
             # non-existing property is not an error.
             pass
+        except Exception, e:
+            log.error("Unable to delete property {%s}%s: %s" % (qname[0], qname[1], e))
+            raise HTTPError(StatusResponse(
+                statusForFailure(Failure()),
+                "Unable to delete property: {%s}%s" % qname

         return r
 
     def _decode(clazz, name):
@@ -97,19 +98,83 @@
 
     def get(self, qname):
         try:
