Rigth from the doc: class ConvError : object.Error {...} Thrown on conversion errors, which happens on deviation from the grammar. class ConvOverflowError : object.Error {...} Thrown on conversion overflow errors. Why from Error? A string parsing failure is recoverable; shouldn't these derive from Exception instead?