問題タブ [keynotfoundexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
7 に答える
20001 参照

c# - KeyNotFoundExceptionがスローされた場合、どのキーが見つからなかったかを確認するにはどうすればよいですか?

ASystem.Collections.Generic.DictionaryがスローKeyNotFoundExceptionされていますが、どのキーが欠落しているのかわかりません。これをどのように判断しますか?

0 投票する
3 に答える
1188 参照

vb.net - 辞書値を割り当てずに KeyNotFoundException を単体テストする方法

コード内の特定のディクショナリで単体テストを実行し、データベースにあるとは思わない値 (この場合は key=1) を取得しようとしています。

私は次のコードを書きました:

これは正常に動作しますが、コード分析では、「Dim s as String」宣言について不平を言っています。これは、s が何にも使用されないことを示しているためです。私はこれが例外をスローするつもりであり、 s は無関係であるため、これは意図的なものです。

ただし、コードから s を削除する方法が見つからないようです。割り当てを削除するだけです:

コンパイルに失敗するようになりました。これを行う方法に関する提案はありますか?

0 投票する
4 に答える
7948 参照

dynamics-crm-2011 - CRM 2011 KeyNotFoundException 例外

CRM開発初心者です。カスタム エンティティ「顧客」があります。このエンティティには、TRUE または FALSE の「defaultcustomer」というフィールドがあります。すべての「顧客」に対して「defaultcustomer」を FALSE に設定する必要があるプラグインに取り組んでいます。私は以下のようにしています:

事実:

エンティティ「顧客」自体のプラグインを登録しました。したがって、エンティティ「顧客」が更新されると、プラグインが起動します。

エラー: 次の行にエラーがスローされます。

0 投票する
2 に答える
215 参照

c# - 塗りつぶされた辞書の KeyNotFoundException

辞書の値を変更しようとしていますが、コンパイラがスローしKeyNotFoundExceptionます。確かに、そのキーを辞書で宣言しました。GenerateEmptyChunks()メソッドを呼び出しているためです。メソッドは、辞書をその位置のキーでチャンクで満たし、レベルジェネレーターの値は空です。デバッガーとChunks辞書オブジェクトにキーと値が正しく入力されていることを確認しました。CompareTo私の動作していない方法が原因ですか?はいの場合、CompareTo正しい値を返すようにメソッドを変更するにはどうすればよいですか?

GenerateEmptyChunks()メソッド:

各タイルのレベル ジェネレーターによって呼び出されるAddBlock()メソッド:

WChunkオブジェクト:

WPointオブジェクト:

キーが辞書にあるときにコンパイラがキーを拒否する理由はありますか?

0 投票する
2 に答える
819 参照

vb.net - 要求された値のキーがVB.NETASP.NET2.0ディクショナリに存在する場合のKeyNotFoundException

デバッグセッションイメージ ValueList変数は、Dictionary(Of String、String)として定義されます。

キャプチャされたウォッチ値は、データ(tmpData)の値が「1」であることを示しています。

ValueListは、SSGCol.ValueList Watch変数の展開からわかるように、「1」の置換値が「プロジェクトリソース」になるように定義されています。

ただし、値にアクセスしようとすると、KeyNotFoundExceptionが発生します

私は過去にこの種のことを何千回も行ってきましたが、今日は何らかの理由でそれを機能させることができません。私は本当に明白な何かを見逃しているに違いありません、そして誰かが私の明白な間違いを見るとき、新鮮な見方をして私に平手打ちを与える必要があります。

0 投票する
4 に答える
2215 参照

c# - HtmlEntity.DeEntitize() メソッドを使用した KeyNotFoundException

私は現在、C# 4.0 で書かれたスクレイパーに取り組んでいます。組み込みの WebClient や .NET の RegEx 機能など、さまざまなツールを使用しています。スクレーパーの一部として、HtmlAgilityPack を使用して HTML ドキュメントを解析しています。すべてが思いどおりに動作するようになり、コードのクリーンアップを行いました。

メソッドを使用HtmlEntity.DeEntitize()して HTML をクリーンアップしています。いくつかのテストを行ったところ、この方法はうまく機能しているように見えました。しかし、コードにメソッドを実装すると、KeyNotFoundException. これ以上の詳細はありませんので、私はかなり迷っています。私のコードは次のようになります。

ダウンロードされた HTML は UTF-8 でエンコードされています。どうすればKeyNotFound例外を回避できますか?

0 投票する
3 に答える
3726 参照

c# - キーが存在する場合、C# Dictionary は KeyNotFoundException をスローします。

ベクトル間の距離行列を として表す 2D 配列を格納していDictionary<DistanceCell, double>ます。私の実装にDistanceCellは、比較されるベクトルを表す 2 つの文字列フィールドがあります。

このクラスをキーとして使用しているので、 and をオーバーライドEquals()しましたGetHashCode():

ご覧のとおり、 の要件の 1 つはDistanceCellGroup1Group2が交換可能であることです。したがって、2 つの文字列xとはyDistanceCell("x", "y")等しくなければなりませんDistanceCell("y", "x")。これが、等しい必要がGetHashCode()あるため、乗算を実装した理由です。DistanceCell("x", "y").GetHashCode()DistanceCell("y", "x").GetHashCode()

私が抱えている問題は、おおよそ 90% の時間は正しく動作しますが、残りの時間はaKeyNotFoundExceptionまたは aをスローすることです。NullReferenceException前者はディクショナリからキーを取得するときにスローされ、後者はforeachループを使用してディクショナリを反復処理し、null のキーを取得して呼び出しEquals()を試みるときにスローされます。これは私の実装のエラーと関係があると思われますが、GetHashCode()確信は持てません。また、アルゴリズムの性質上、キーをチェックしたときに辞書にキーが存在しないというケースは決してないはずです。アルゴリズムは、実行ごとに同じパスを取ります。

アップデート

問題が修正されたことを全員に更新したかっただけです。Equals() または GetHashCode() の実装とは何の関係もないことがわかりました。大規模なデバッグを行ったところ、KeyNotFoundException が発生した理由は、そもそもキーが辞書に存在しなかったためであることがわかりました。問題は、複数のスレッドを使用してディクショナリにキーを追加していたことでした。これによれば、c# ディクショナリ クラスはスレッドセーフではありません。したがって、Add() が失敗したため、キーがディクショナリに追加されなかったタイミングは完璧だったに違いありません。これは、foreach ループがときどき null キーを生成していたことも説明できると思います。Add()'

助けてくれてありがとう!完全に私のせいで終わってしまい申し訳ありません。

0 投票する
1 に答える
214 参照

c# - C# のマルチレベル辞書エラー

次のコードを使用してJSONを作成します

しかし、次の行に例外が表示されます

次のエラーが表示されます

指定されたキーは辞書にありませんでした

何が悪かったのか ?誰でも私を助けることができます

0 投票する
3 に答える
702 参照

c# - KeyNotFoundException を与える C# 辞書、理由がわからない

私はアマチュア プログラマーであり、これは修正するのが簡単な問題のように思えますが、方法がわかりません。以下は、意図したとおりに動作しない C# コードです。これが 3 を返すことを期待していますが、代わりにKeyNotFoundException. リストは同じなので、3 を返すべきではありませんか? 助けてくれてありがとう。