Please add a reason for why an IOException would be thrown.