Change the name of ArrayBoundsException in druntime
Robert Fraser
fraserofthenight at gmail.com
Thu Oct 23 18:56:32 PDT 2008
Sergey Gromov wrote:
> Fri, 24 Oct 2008 08:54:49 +0900,
> Bill Baxter wrote:
>> On Fri, Oct 24, 2008 at 6:47 AM, Andrei Alexandrescu
>> <SeeWebsiteForEmail at erdani.org> wrote:
>>> Sergey Gromov wrote:
>>>> Thu, 23 Oct 2008 14:44:46 -0500,
>>>> Andrei Alexandrescu wrote:
>>>>> Sorry, I meant to catch Exception. My point was, if I want to print an
>>>>> informative message, the exception should be able to provide it without
>>>>> having to encode it in its type.
>>>> It's all nice and simple until you want to localize. Then all your
>>>> 'informative compiler-provided messages' appear as garbage to a non-
>>>> English-speaking user. They need to be translated somehow. And the
>>>> translation is likely to be based upon the context, not upon an arbitrary
>>>> string exception contains.
>>> No, translation would have to be provided via a string table. And guess who
>>> provides the key for that table.
>> But what Sergey is pointing out is that
>> 1) if you rely on a human readable string for the key, then you have
>> to fix things when some maintenance programmer fixes a spelling error
>> in the message
>> 2) if you rely on human readable strings in that are in 3rd party
>> libraries then you have to find all those strings some how. Could be
>> difficult without source.
>>
>> So if you're going to translate then having an actual key, a unique
>> identifying symbol not meant for human consumption, is a better
>> approach.
>
> Correct. Thank you for putting this together. But there is even more to
> it than that: the library exceptions are usually too low-level and too
> specific to spit at the user as is. They need to be analysed and
> converted into a more appropriate form or action. And exception must
> provide means for such analysis other than message string parsing.
Right -- and what action the program was taking to cause the exception
also must be taken into account.
More information about the Digitalmars-d
mailing list