ensure parsing errors and 'lack of data' errors are passed back as exceptions