I'm not keen on this. If anybody else wants to make use of ```_bbox_and_offset``` they will also have to do this checking - without running the same tests in ```_bbox_and_offset``` there is no guarantee that its result is sensible. It is for that reason that I'm comfortable with a ```try...except``` block inline here.
Obviously, if you insist I will go ahead and implement the same checks in both methods to remove the ```try...except``` - but I'm not keen for ```_bbox_and_offset``` to avoid raising Exceptions.