Use a real exception class for parse failures, not a string