7 internal static class ThrowHelper
9 internal static void ThrowArgumentOutOfRangeException()
11 ThrowArgumentOutOfRangeException(ExceptionArgument.index, ExceptionResource.ArgumentOutOfRange_Index);
14 internal static void ThrowWrongKeyTypeArgumentException(
object key, Type targetType)
16 throw new ArgumentException(Environment.GetResourceString(
"Arg_WrongType", key, targetType),
"key");
19 internal static void ThrowWrongValueTypeArgumentException(
object value, Type targetType)
21 throw new ArgumentException(Environment.GetResourceString(
"Arg_WrongType", value, targetType),
"value");
24 internal static void ThrowKeyNotFoundException()
29 internal static void ThrowArgumentException(ExceptionResource resource)
31 throw new ArgumentException(Environment.GetResourceString(GetResourceName(resource)));
34 internal static void ThrowArgumentException(ExceptionResource resource, ExceptionArgument argument)
36 throw new ArgumentException(Environment.GetResourceString(GetResourceName(resource)), GetArgumentName(argument));
39 internal static void ThrowArgumentNullException(ExceptionArgument argument)
41 throw new ArgumentNullException(GetArgumentName(argument));
44 internal static void ThrowArgumentOutOfRangeException(ExceptionArgument argument)
46 throw new ArgumentOutOfRangeException(GetArgumentName(argument));
49 internal static void ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
51 if (CompatibilitySwitches.IsAppEarlierThanWindowsPhone8)
53 throw new ArgumentOutOfRangeException(GetArgumentName(argument),
string.Empty);
55 throw new ArgumentOutOfRangeException(GetArgumentName(argument), Environment.GetResourceString(GetResourceName(resource)));
58 internal static void ThrowInvalidOperationException(ExceptionResource resource)
60 throw new InvalidOperationException(Environment.GetResourceString(GetResourceName(resource)));
63 internal static void ThrowSerializationException(ExceptionResource resource)
68 internal static void ThrowSecurityException(ExceptionResource resource)
70 throw new SecurityException(Environment.GetResourceString(GetResourceName(resource)));
73 internal static void ThrowNotSupportedException(ExceptionResource resource)
75 throw new NotSupportedException(Environment.GetResourceString(GetResourceName(resource)));
78 internal static void ThrowUnauthorizedAccessException(ExceptionResource resource)
80 throw new UnauthorizedAccessException(Environment.GetResourceString(GetResourceName(resource)));
83 internal static void ThrowObjectDisposedException(
string objectName, ExceptionResource resource)
85 throw new ObjectDisposedException(objectName, Environment.GetResourceString(GetResourceName(resource)));
88 internal static void IfNullAndNullsAreIllegalThenThrow<T>(
object value, ExceptionArgument argName)
90 if (value ==
null &&
default(
T) !=
null)
92 ThrowArgumentNullException(argName);
96 internal static string GetArgumentName(ExceptionArgument argument)
101 case ExceptionArgument.array:
103 case ExceptionArgument.arrayIndex:
105 case ExceptionArgument.capacity:
107 case ExceptionArgument.collection:
109 case ExceptionArgument.list:
111 case ExceptionArgument.converter:
113 case ExceptionArgument.count:
115 case ExceptionArgument.dictionary:
117 case ExceptionArgument.dictionaryCreationThreshold:
118 return "dictionaryCreationThreshold";
119 case ExceptionArgument.index:
121 case ExceptionArgument.info:
123 case ExceptionArgument.key:
125 case ExceptionArgument.match:
127 case ExceptionArgument.obj:
129 case ExceptionArgument.queue:
131 case ExceptionArgument.stack:
133 case ExceptionArgument.startIndex:
135 case ExceptionArgument.value:
137 case ExceptionArgument.name:
139 case ExceptionArgument.mode:
141 case ExceptionArgument.item:
143 case ExceptionArgument.options:
145 case ExceptionArgument.view:
147 case ExceptionArgument.sourceBytesToCopy:
148 return "sourceBytesToCopy";
154 internal static string GetResourceName(ExceptionResource resource)
159 case ExceptionResource.Argument_ImplementIComparable:
160 return "Argument_ImplementIComparable";
161 case ExceptionResource.Argument_AddingDuplicate:
162 return "Argument_AddingDuplicate";
163 case ExceptionResource.ArgumentOutOfRange_BiggerThanCollection:
164 return "ArgumentOutOfRange_BiggerThanCollection";
165 case ExceptionResource.ArgumentOutOfRange_Count:
166 return "ArgumentOutOfRange_Count";
167 case ExceptionResource.ArgumentOutOfRange_Index:
168 return "ArgumentOutOfRange_Index";
169 case ExceptionResource.ArgumentOutOfRange_InvalidThreshold:
170 return "ArgumentOutOfRange_InvalidThreshold";
171 case ExceptionResource.ArgumentOutOfRange_ListInsert:
172 return "ArgumentOutOfRange_ListInsert";
173 case ExceptionResource.ArgumentOutOfRange_NeedNonNegNum:
174 return "ArgumentOutOfRange_NeedNonNegNum";
175 case ExceptionResource.ArgumentOutOfRange_SmallCapacity:
176 return "ArgumentOutOfRange_SmallCapacity";
177 case ExceptionResource.Arg_ArrayPlusOffTooSmall:
178 return "Arg_ArrayPlusOffTooSmall";
179 case ExceptionResource.Arg_RankMultiDimNotSupported:
180 return "Arg_RankMultiDimNotSupported";
181 case ExceptionResource.Arg_NonZeroLowerBound:
182 return "Arg_NonZeroLowerBound";
183 case ExceptionResource.Argument_InvalidArrayType:
184 return "Argument_InvalidArrayType";
185 case ExceptionResource.Argument_InvalidOffLen:
186 return "Argument_InvalidOffLen";
187 case ExceptionResource.Argument_ItemNotExist:
188 return "Argument_ItemNotExist";
189 case ExceptionResource.InvalidOperation_CannotRemoveFromStackOrQueue:
190 return "InvalidOperation_CannotRemoveFromStackOrQueue";
191 case ExceptionResource.InvalidOperation_EmptyQueue:
192 return "InvalidOperation_EmptyQueue";
193 case ExceptionResource.InvalidOperation_EnumOpCantHappen:
194 return "InvalidOperation_EnumOpCantHappen";
195 case ExceptionResource.InvalidOperation_EnumFailedVersion:
196 return "InvalidOperation_EnumFailedVersion";
197 case ExceptionResource.InvalidOperation_EmptyStack:
198 return "InvalidOperation_EmptyStack";
199 case ExceptionResource.InvalidOperation_EnumNotStarted:
200 return "InvalidOperation_EnumNotStarted";
201 case ExceptionResource.InvalidOperation_EnumEnded:
202 return "InvalidOperation_EnumEnded";
203 case ExceptionResource.NotSupported_KeyCollectionSet:
204 return "NotSupported_KeyCollectionSet";
205 case ExceptionResource.NotSupported_ReadOnlyCollection:
206 return "NotSupported_ReadOnlyCollection";
207 case ExceptionResource.NotSupported_ValueCollectionSet:
208 return "NotSupported_ValueCollectionSet";
209 case ExceptionResource.NotSupported_SortedListNestedWrite:
210 return "NotSupported_SortedListNestedWrite";
211 case ExceptionResource.Serialization_InvalidOnDeser:
212 return "Serialization_InvalidOnDeser";
213 case ExceptionResource.Serialization_MissingKeys:
214 return "Serialization_MissingKeys";
215 case ExceptionResource.Serialization_NullKey:
216 return "Serialization_NullKey";
217 case ExceptionResource.Argument_InvalidType:
218 return "Argument_InvalidType";
219 case ExceptionResource.Argument_InvalidArgumentForComparison:
220 return "Argument_InvalidArgumentForComparison";
221 case ExceptionResource.InvalidOperation_NoValue:
222 return "InvalidOperation_NoValue";
223 case ExceptionResource.InvalidOperation_RegRemoveSubKey:
224 return "InvalidOperation_RegRemoveSubKey";
225 case ExceptionResource.Arg_RegSubKeyAbsent:
226 return "Arg_RegSubKeyAbsent";
227 case ExceptionResource.Arg_RegSubKeyValueAbsent:
228 return "Arg_RegSubKeyValueAbsent";
229 case ExceptionResource.Arg_RegKeyDelHive:
230 return "Arg_RegKeyDelHive";
231 case ExceptionResource.Security_RegistryPermission:
232 return "Security_RegistryPermission";
233 case ExceptionResource.Arg_RegSetStrArrNull:
234 return "Arg_RegSetStrArrNull";
235 case ExceptionResource.Arg_RegSetMismatchedKind:
236 return "Arg_RegSetMismatchedKind";
237 case ExceptionResource.UnauthorizedAccess_RegistryNoWrite:
238 return "UnauthorizedAccess_RegistryNoWrite";
239 case ExceptionResource.ObjectDisposed_RegKeyClosed:
240 return "ObjectDisposed_RegKeyClosed";
241 case ExceptionResource.Arg_RegKeyStrLenBug:
242 return "Arg_RegKeyStrLenBug";
243 case ExceptionResource.Argument_InvalidRegistryKeyPermissionCheck:
244 return "Argument_InvalidRegistryKeyPermissionCheck";
245 case ExceptionResource.NotSupported_InComparableType:
246 return "NotSupported_InComparableType";
247 case ExceptionResource.Argument_InvalidRegistryOptionsCheck:
248 return "Argument_InvalidRegistryOptionsCheck";
249 case ExceptionResource.Argument_InvalidRegistryViewCheck:
250 return "Argument_InvalidRegistryViewCheck";
The exception that is thrown when the key specified for accessing an element in a collection does not...
The exception thrown when an error occurs during serialization or deserialization.
The exception that is thrown when a security error is detected.