Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataSet / System / Data / DataSetUtil.cs / 1305376 / DataSetUtil.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- using System; using System.Data; using System.Data.DataSetExtensions; using System.Diagnostics; internal static class DataSetUtil { #region CheckArgument internal static void CheckArgumentNull(T argumentValue, string argumentName) where T : class { if (null == argumentValue) { throw ArgumentNull(argumentName); } } #endregion #region Trace private static T TraceException (string trace, T e) { Debug.Assert(null != e, "TraceException: null Exception"); if (null != e) { //Bid.Trace(trace, e.ToString()); // will include callstack if permission is available } return e; } private static T TraceExceptionAsReturnValue (T e) { return TraceException(" '%ls'\n", e); } #endregion #region new Exception internal static ArgumentException Argument(string message) { return TraceExceptionAsReturnValue(new ArgumentException(message)); } internal static ArgumentNullException ArgumentNull(string message) { return TraceExceptionAsReturnValue(new ArgumentNullException(message)); } internal static ArgumentOutOfRangeException ArgumentOutOfRange(string message, string parameterName) { return TraceExceptionAsReturnValue(new ArgumentOutOfRangeException(parameterName, message)); } internal static InvalidCastException InvalidCast(string message) { return TraceExceptionAsReturnValue(new InvalidCastException(message)); } internal static InvalidOperationException InvalidOperation(string message) { return TraceExceptionAsReturnValue(new InvalidOperationException(message)); } internal static NotSupportedException NotSupported(string message) { return TraceExceptionAsReturnValue(new NotSupportedException(message)); } #endregion #region new EnumerationValueNotValid static internal ArgumentOutOfRangeException InvalidEnumerationValue(Type type, int value) { return ArgumentOutOfRange(Strings.DataSetLinq_InvalidEnumerationValue(type.Name, value.ToString(System.Globalization.CultureInfo.InvariantCulture)), type.Name); } static internal ArgumentOutOfRangeException InvalidDataRowState(DataRowState value) { #if DEBUG switch (value) { case DataRowState.Detached: case DataRowState.Unchanged: case DataRowState.Added: case DataRowState.Deleted: case DataRowState.Modified: Debug.Assert(false, "valid DataRowState " + value.ToString()); break; } #endif return InvalidEnumerationValue(typeof(DataRowState), (int)value); } static internal ArgumentOutOfRangeException InvalidLoadOption(LoadOption value) { #if DEBUG switch (value) { case LoadOption.OverwriteChanges: case LoadOption.PreserveChanges: case LoadOption.Upsert: Debug.Assert(false, "valid LoadOption " + value.ToString()); break; } #endif return InvalidEnumerationValue(typeof(LoadOption), (int)value); } #endregion // only StackOverflowException & ThreadAbortException are sealed classes static private readonly Type StackOverflowType = typeof(System.StackOverflowException); static private readonly Type OutOfMemoryType = typeof(System.OutOfMemoryException); static private readonly Type ThreadAbortType = typeof(System.Threading.ThreadAbortException); static private readonly Type NullReferenceType = typeof(System.NullReferenceException); static private readonly Type AccessViolationType = typeof(System.AccessViolationException); static private readonly Type SecurityType = typeof(System.Security.SecurityException); static internal bool IsCatchableExceptionType(Exception e) { // a 'catchable' exception is defined by what it is not. Type type = e.GetType(); return ((type != StackOverflowType) && (type != OutOfMemoryType) && (type != ThreadAbortType) && (type != NullReferenceType) && (type != AccessViolationType) && !SecurityType.IsAssignableFrom(type)); } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- NonClientArea.cs
- ToolboxCategory.cs
- DispatcherFrame.cs
- CheckedListBox.cs
- MetadataCache.cs
- MsmqDiagnostics.cs
- OperatingSystem.cs
- ExtensionCollection.cs
- TypographyProperties.cs
- SqlDataSourceQueryConverter.cs
- CacheAxisQuery.cs
- SqlUnionizer.cs
- Int32CAMarshaler.cs
- ErrorFormatter.cs
- ViewBase.cs
- EditorZoneAutoFormat.cs
- CommonProperties.cs
- BooleanConverter.cs
- BinaryMethodMessage.cs
- BaseDataList.cs
- ProviderUtil.cs
- ThreadStaticAttribute.cs
- Graph.cs
- HtmlTernaryTree.cs
- TypeSystem.cs
- DateTimeFormatInfo.cs
- DataGridViewTopRowAccessibleObject.cs
- PipelineModuleStepContainer.cs
- TransactionManagerProxy.cs
- TextHidden.cs
- SqlCacheDependencySection.cs
- FunctionImportElement.cs
- CodeDirectiveCollection.cs
- DataGridColumnHeader.cs
- Error.cs
- DragEventArgs.cs
- DependentList.cs
- ProfileInfo.cs
- VariantWrapper.cs
- BuilderInfo.cs
- SizeConverter.cs
- MembershipUser.cs
- OleDbDataAdapter.cs
- TableSectionStyle.cs
- DataViewManager.cs
- ButtonBaseAutomationPeer.cs
- XmlHierarchicalEnumerable.cs
- DateTimeConstantAttribute.cs
- mediaeventargs.cs
- ComponentCache.cs
- PageParser.cs
- WithParamAction.cs
- MethodBody.cs
- UmAlQuraCalendar.cs
- ClientSettingsStore.cs
- CompoundFileDeflateTransform.cs
- WebPartConnectionsCancelEventArgs.cs
- ClassHandlersStore.cs
- InvokeMethod.cs
- CallSite.cs
- SelectingProviderEventArgs.cs
- StatusStrip.cs
- HtmlInputHidden.cs
- PeerPresenceInfo.cs
- SpellerHighlightLayer.cs
- SafeFindHandle.cs
- PermissionRequestEvidence.cs
- IUnknownConstantAttribute.cs
- KnownTypesProvider.cs
- ClientFormsIdentity.cs
- TableRow.cs
- Compiler.cs
- SchemaMapping.cs
- ForeignKeyConstraint.cs
- ReferenceEqualityComparer.cs
- XmlObjectSerializerReadContextComplex.cs
- ManagementPath.cs
- ExpandableObjectConverter.cs
- WeakEventTable.cs
- CompiledRegexRunner.cs
- NativeMethods.cs
- RichTextBoxAutomationPeer.cs
- LinkClickEvent.cs
- StringCollection.cs
- GridViewItemAutomationPeer.cs
- HtmlElementEventArgs.cs
- RemotingService.cs
- ClickablePoint.cs
- ClientSettingsProvider.cs
- SuppressIldasmAttribute.cs
- DataContractAttribute.cs
- PolygonHotSpot.cs
- SizeAnimationUsingKeyFrames.cs
- DodSequenceMerge.cs
- ResourceWriter.cs
- BuildResult.cs
- WebPartConnectionsDisconnectVerb.cs
- Setter.cs
- PowerModeChangedEventArgs.cs
- SmiXetterAccessMap.cs