throw io exceptions