|
Boost : |
From: Peter Dimov (pdimov_at_[hidden])
Date: 2002-11-18 07:49:35
From: "Robert Ramey" <ramey_at_[hidden]>
> From: "Jeff Garland"
>
> >> In general, libary code should make no presumptions as to the language
> >> of the user. That means no embedded messages.
>
> >Yes, we need to provide locale indexed message strings. No debate on
that.
> >Sounds like another requirement for boost::exception.
>
> >In my view it [boost::exception] needs to be enhanced to support
developers needs.
>
> OUCH - that's totally the wrong conclusion. so now inside a library you
want
> to have the messages coded in english, spanish, german, quichua, etc each
> in their respectiv character sets? oh and unicode too? That job would
never end
> and be pointless besides.
Mostly agreed, however...
> Take the string out by and use the enums as keys.
... strings make much better keys than enums (or other integral values).
It's easy(-ier) to make strings unique by using prefixes, or by using the
C++ identifier that corresponds to the enum value. Integral constants
inevitably lead to collisions unless managed by some central authority.
In a perfect world std::exception::what() would be guaranteed to be unique,
and its possible values would be dutifully documented by derived class
authors, so I can just pass the result of what() to a message table. The C++
Standard regrettably failed to address this point... to be fair, it's
terribly easy to overlook when everyone speaks English.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk