KeyNotFoundException
From Xojo Documentation
Class (inherits from RuntimeException)
You tried to access an item in a Dictionary using a key that is not in the Dictionary.
Properties | |||
|
Methods | ||
|
Notes
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"
d.Remove(1)
For i = 0 To d.Count - 1 // fails when i=1
ListBox1.Addrow(d.Value(i))
Next
Var i As Integer
d.Value(0) = "Clark Kent"
d.Value(1) = "Lois Lane"
d.Value(2) = "Jimmy Olsen"
d.Remove(1)
For i = 0 To d.Count - 1 // fails when i=1
ListBox1.Addrow(d.Value(i))
Next
To handle the error, add an Exception block to the end of the method, such as:
See Also
Dictionary, RuntimeException classes; Exception block.