KeyNotFoundException について
初級者向けにおさらいします。
目次
この例外エラーの説明
主に、ディクショナリ型変数に登録されたコレクションデータの中に、Key Not Found(指定されたキーを持つ値が見つからなかったことで発生する)Exception です。
事例とその対処方法
例外エラーは、想定外の扱われ方をすると発生して飛んで来ます。それは命令の使い方が間違っていたり、存在しないデータを扱おうとしていたり、アカウント権限を越えたアクセスをしようとしていたり(Windows 側やウェブ側の話だったり)、サービスが動いていないのに連携しようとしたり、製品上の仕様考慮モレだったり、そういう系です。
こうなっている前提のはずだから、こうやろうとしたのに、実際はここがこうなっているからダメじゃん!こういう場合の処理が無いじゃん!みたいなコードになっていませんか?
Dictionary(Of TKey, TValue)
Dim dic As New Dictionary(Of String, Integer) From { {"pen", 1}, {"apple", 2}, {"pineapple", 3} } Dim count As Integer = dic("banana")
System.Collections.Generic.KeyNotFoundException: '指定されたキーはディレクトリ内に存在しませんでした。'
指定したキーが今現在登録されているかどうかのチェックを実施した後で、キー指定するようにします。
If dic.ContainsKey("banana") Then Dim count As Integer = dic("banana") End If