From 917f0ac26ea8d92e7e94faf456a60fab91f61930 Mon Sep 17 00:00:00 2001 From: Bruce Lindsay Date: Fri, 7 Aug 2015 15:50:31 -0400 Subject: [PATCH] check bounds rather than generate exceptions --- Simple.Data.Ado/OptimizedDictionary2.cs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/Simple.Data.Ado/OptimizedDictionary2.cs b/Simple.Data.Ado/OptimizedDictionary2.cs index d68143ad..ebfc7d93 100644 --- a/Simple.Data.Ado/OptimizedDictionary2.cs +++ b/Simple.Data.Ado/OptimizedDictionary2.cs @@ -209,7 +209,8 @@ public TValue this[TKey key] // Rethrow exceptions from here to hide implementation details. try { - return _values[_index[key]]; + var ordinal = _index[key]; + return ordinal < _values.Count ? _values[ordinal] : default(TValue); } catch (ArgumentNullException) { @@ -219,10 +220,6 @@ public TValue this[TKey key] { throw new KeyNotFoundException(); } - catch (ArgumentOutOfRangeException) - { - return default(TValue); - } } set {