throw ruby exceptions like a boss