I think, unfortunately, this is a byproduct of developing this feature outside the context of sneaky-pete first.  Given that it isn't 100% the way sneaky operates is there any other reason not to iterate on this particular feature and accept that it does the right thing regardless of whether an exception is thrown?  Is there something higher up that monitors for those exceptions that requires it to be a requisite fix?