I think Associative Array should throw Exception
Steven Schveighoffer
schveiguy at gmail.com
Fri Sep 4 12:08:40 UTC 2020
On 9/4/20 1:48 AM, Jesse Phillips wrote:
> On Thursday, 3 September 2020 at 15:12:14 UTC, Steven Schveighoffer wrote:
>> int[int] aa;
>> aa[4] = 5;
>> auto b = aa[4];
>>
>> How is this code broken? It's valid, will never throw, and there's no
>> reason that we should break it by adding an exception into the mix.
>>
>
> int foo() nothrow {
> return "1".to!int;
> }
>
> The following code is valid, will never throw, why does the compiler
> prevent it?
You are still missing the point ;)
Your example doesn't compile today. Mine does. It's not a question of
which way is better, but that we already have code that depends on the
chosen solution, and changing now means breaking all such existing code.
My point of bringing up the example is that your assertion that "it is
already broken" isn't true.
To put it another way, if the above to!int call compiled, and we
switched to exceptions, it would be the same problem, even if the right
choice is to use Exceptions.
-Steve
More information about the Digitalmars-d-learn
mailing list