it's better to say `"error opening " + fname`, since it can happen even when the file exists