better IOException reporting