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