Ok. I didn't have any intention to throw exceptions. I was more concerned about whether it's ok to allocate and delete objects or I should use smart pointers. On Mon, Oct 10, 2016 at 7:18 AM, Jason Dillaman <jdillama@xxxxxxxxxx> wrote: > The only place exceptions are routinely used is within the "::decode" > functions. I would prefer to see the code not throwing new exceptions > on purpose. > > On Fri, Oct 7, 2016 at 2:26 PM, Victor Denisov <vdenisov@xxxxxxxxxxxx> wrote: >> Are any exceptions used in librbd code? Should the code be exception safe? >> >> Thanks, >> V. >> >> On Fri, Sep 16, 2016 at 10:37 AM, Jason Dillaman <jdillama@xxxxxxxxxx> wrote: >>> On Thu, Sep 15, 2016 at 7:17 PM, Victor Denisov <vdenisov@xxxxxxxxxxxx> wrote: >>>> if (struct_v >= 5) { >>>> ::decode(snapshot_namespace, p); >>>> } else { >>>> snapshot_namespace = cls::rbd::UserSnapshotNamespace(); >>>> } >>>> >>>> then code for ::encode function of cls_rbd_snap would change accordingly: >>>> >>>> instead of >>>> >>>> boost::apply_visitor(cls::rbd::EncodeSnapshotTypeVisitor(bl), >>>> snapshot_namespace); >>>> >>>> I would do: >>>> ::encode(snapshot_namespace, bl); >>> >>> >>> +1 -- looks good to me >>> >>> -- >>> Jason > > > > -- > Jason -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html