Hi, Hal Fulton wrote: > May I suggest a possible better solution for this > unusual circumstance? > > When a literal string is output -- one not expected > to have control characters -- convert those to some > slash form: > > ./oops.rb:9005:in `open': No such file or directory - '/w/x/y/z\n' > (Errno::ENOENT) > > Then you can single-quote the string and the exception id > will still correctly appear on the next line. > > Hal > > > Hi, > > > > In message "[ruby-talk:02229] Re: Misleading IO error message" > > on 00/03/28, schneik / us.ibm.com <schneik / us.ibm.com> writes: > > > > |I got an error message of the following form: > > | > > | ./oops.rb:9005:in `open': No such file or directory - /w/x/y/z > > (Errno::ENOENT) > > | > > | > > |But there was such a directory! > > > > Ok, wrap the filename by `'. But current implementaion puts exception > > names right after the first newline, then it would be: > > > > ./oops.rb:9005:in `open': No such file or directory - '/w/x/y/z > > (Errno::ENOENT) > > ' > > > > It's still misleading in some degree. Maybe little bit better though. > > > > matz. I sent two follow-up notes to my original note on this topic, both mentioning that the output shown in the first note was an unfortunate artifact of post-send line wrapping, but those notes seem to have been overlooked or misunderstood. Let me see if I can explain better this time: the original error message was not wrapped at all--it came out all on just _one_ line, _including_ the exception id. I just recreated the problem just to make sure. If '\'s are used, you might want to use "-quotes, to more closely follow Ruby's literal conventions. However, this could still be quite messy if NT paths are displayed in native form in error messages, because you have to \-quote \-chars to handle "\<whatever>" (2 chars) and "\<whatever>" (1 control char) correctly. (Actually you would have to do this anyway.) The nice thing about quoting the path in any case is the widespread use of spaces in path names in the Windows and Mac world. (I think this will become increasingly common on UNIX as increasingly more useful Linix file browsers develop and proliferate.) > Subject: [ruby-talk:02229] Re: Misleading IO error message > Subject: [ruby-talk:02235] Re: Misleading IO error message <...> > Conrad Schneiker wrote: > > ((I'm resending this because the previous message was automatically > > wrapped somewhere along the line at precisely the wrong point > > to show my initial problem.)) > > > > I got an error message of the following form: > > > > ./oops.rb:9005:in `open': No such file or > > directory - /w/x/y/z (Errno::ENOENT) <...> Conrad Schneiker (This note is unofficial and subject to improvement without notice.)