On 2013-12-31 13:42, Supernova wrote:
Why do associative arrays throw an Error (RangeError) on value not found?

This seems like it would be inefficient to check for, so a recoverable
Exception (ItemNotFoundException?) would seem to be more appropriate.

How would ItemNotFoundException be any more efficient? The idea is that the error should not be recoverable. If you get an RangeError in your code you have made a logical error.

You need to explicitly check if a key is available in the associative array before accessing it, something like this:

if (auto value = key in aa)
    writefln("key %s was found with the value %s", key, value);

else
    writefln("key %s was not found", key);

--
/Jacob Carlborg

Reply via email to