From Xojo Documentation

Revision as of 23:22, 20 July 2019 by Gperlman (talk | contribs)

Class (inherits from RuntimeException)

You tried to access an item in a Dictionary using a key that is not in the Dictionary.

ErrorNumber Message
Stack StackFrames


You can avoid this exception by making use of the Dictionary.Lookup method to provide a default value if the key is not found or by using the Dictionary.HasKey method to check if the key exists.

Sample Code

The following For loop produces a KeyNotFoundException error when the loop runs with the counter equal to 1. The value of 1 — which is a Variant, not an Integer — has just been removed.

Var d As New Dictionary
Var i As Integer
d.Value(0) = "Clark Kent"
d.Value(1) = "Lois Lane"
d.Value(2) = "Jimmy Olsen"
For i = 0 To d.Count - 1 // fails when i=1

To handle the error, add an Exception block to the end of the method, such as:

Exception err As KeyNotFoundException
MsgBox("You tried to access a nonexistent item!")

See Also

Dictionary, RuntimeException classes; Exception block.