Terje Slettebų <[EMAIL PROTECTED]> writes: >> >> > As it stands, it prints "Exception - Constructor", as it throws >> >> > an exception in the constructor of the Exception exception. If >> >> > the throw-statement in the constructor is commented out, it >> >> > prints "Exception - Exception", apparently not invoking the copy >> >> > constructor when throwing the exception (which it's allowed to). >> >> >> >> Irrelevant. A program that invokes undefined behavior may appear to >> >> work fine also. > > I did not state the latter part as a general claim, which is why I said that > eliding the copy is something it's allowed to, but not required to. Thus, > there's no argument to consider "irrelevant".
What I meant (though sorry I was probably too blunt about it) was that it's irrelevant whether you actually observed termination or not, unless you're intending for lexical_cast to work just on that compiler. >> Just use a string literal; the compiler has to allocate that as part >> of the program image. > > Sure, that's what the original lexical_cast did. However, if you are to > include in the string info about the types, storing it as a string literal > is not enough. No, but you could store 3 char const*s, using type_info::name() for two of them. >> > The reason the extended error type was added, was that there has >> > been requests on this list for storing the types used in the >> > conversion, in the exception, to make it easier to know which >> > conversion failed. >> >> That's a good request, but you didn't do that, did you? > > Let me rephrase it: IIRC, the request was for storing information about the > types used, not how this was to be done. Thus, whether or not this does what > was requested depends on how to interpret the request. > > The suggestion to store (pointer/reference to) type_info objects doesn't > store the types, either; it stores information about them, this time in a > way easier for the program to use. > > So, I can just as well say as you say: The suggestion you said you meant > (storing references to type_info objects) doesn't do that, either, does it? Ugh. As far as it's possible to store a type at all in C++, yes my suggestion does store the types. -- Dave Abrahams Boost Consulting www.boost-consulting.com _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost