Really we should just rethrow the io exception