This should not descend from Exception, which is for low-level exceptions. Better to descend from StandardError or below. http://blog.nicksieger.com/articles/2006/09/06/rubys-exception-hierarchy/