Class
KeyNotFoundException
Description
You tried to access an item in a Dictionary using a key that is not in the Dictionary.
Properties
Name |
Type |
Read-Only |
Shared |
---|---|---|---|
Methods
Name |
Parameters |
Returns |
Shared |
---|---|---|---|
Property descriptions
KeyNotFoundException.ErrorNumber
ErrorNumber As Integer
Used to contain an error number that describes the runtime error.
KeyNotFoundException.Message
Message As String
Used to contain descriptive text to display when the runtime exception is encountered.
Method descriptions
KeyNotFoundException.Constructor
Constructor(message As String = "", errorCode As Integer = 0)
Note
Constructors are special methods called when you create an object with the New keyword and pass in the parameters above.
Used to raise your own RuntimeException with a message and optional error code.
KeyNotFoundException.Stack
Stack As String()
Returns a String array that contains a list of all of the methods in the stack from the main entrypoint to the point at which the exception was invoked.
The stack contains all the method names up and including the current method name.
This feature only works if the IncludeFunctionNames property on the App object is selected in the Shared Build Settings.
In addition to your own method calls, you will also see framework method calls, but these may not always be completely accurate due to insufficient symbols for the OS to resolve.
KeyNotFoundException.StackFrames
StackFrames As StackFrame()
Returns an array containing the stack when the exception was first raised.
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...Next 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
To handle the error, add an Exception block to the end of the method, such as:
Exception err As KeyNotFoundException
MessageBox("You tried to access a nonexistent item!")
Compatibility
All project types on all supported operating systems.
See also
RuntimeException parent class; Dictionary, RuntimeException classes; Exception block.