Dictionary.Item()メソッドが KeyNotFoundException をスローするのにIDictionary.Item()がスローしないのは、私には奇妙に思えます。そして Dictionary はこのインターフェースを実装しています。では、なぜインターフェイスの慣例を破るような実装があるのでしょうか?
(また、Dictionary の背後にあるアイデアをイメージするシンボル型構造には、メソッドが例外をスローしてはならないという規則があるようです。)
Dictionary.Item()メソッドが KeyNotFoundException をスローするのにIDictionary.Item()がスローしないのは、私には奇妙に思えます。そして Dictionary はこのインターフェースを実装しています。では、なぜインターフェイスの慣例を破るような実装があるのでしょうか?
(また、Dictionary の背後にあるアイデアをイメージするシンボル型構造には、メソッドが例外をスローしてはならないという規則があるようです。)