Is raising an exception here a common scenario?  Exception handling like this is brutal on JRuby and several orders magnitude slower than an if statement on MRI.  But, if it's fairly uncommon then it doesn't matter much.