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

+        try:
+            return [ self._decode(name) for name in self.attrs if name.startswith(prefix) ]
+        except Exception, e:
+            log.error("Unable to list properties: %s" % (e,))
+            raise HTTPError(StatusResponse(
+                statusForFailure(Failure()),
+                "Unable to list properties"

                 "No such property: {%s}%s" % qname
             ))
+        except Exception, e:
+            raise HTTPError(StatusResponse(
+                statusForFailure(Failure()),
+                "Unable to read property: {%s}%s" % qname
