Can Read or Write fail? Should we test their return values and convert failure to an exception?