Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ // // 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
- Model3D.cs
- SystemResourceHost.cs
- TableItemProviderWrapper.cs
- SerializationInfoEnumerator.cs
- LineInfo.cs
- BehaviorEditorPart.cs
- UIPropertyMetadata.cs
- ReferentialConstraintRoleElement.cs
- SQLString.cs
- UnsafeNativeMethods.cs
- FamilyMap.cs
- SamlAssertion.cs
- EntitySqlQueryBuilder.cs
- OptimizerPatterns.cs
- AspNetSynchronizationContext.cs
- ClientScriptItemCollection.cs
- FixedDocumentPaginator.cs
- BoolExpr.cs
- InputProviderSite.cs
- DomainUpDown.cs
- SerializableReadOnlyDictionary.cs
- ToolStripSeparator.cs
- BaseValidator.cs
- SymDocumentType.cs
- MemberJoinTreeNode.cs
- ObjectListSelectEventArgs.cs
- FlowDocumentPaginator.cs
- ListBoxItemAutomationPeer.cs
- GeneralTransform2DTo3D.cs
- ConfigurationConverterBase.cs
- BitmapEffectDrawing.cs
- SystemSounds.cs
- PoisonMessageException.cs
- DataGridViewColumnConverter.cs
- XmlBaseReader.cs
- GPPOINTF.cs
- ColumnPropertiesGroup.cs
- Expander.cs
- TargetConverter.cs
- DSGeneratorProblem.cs
- Keywords.cs
- ParameterExpression.cs
- SqlCacheDependencySection.cs
- HMACSHA256.cs
- DrawingDrawingContext.cs
- XmlChildEnumerator.cs
- RoleServiceManager.cs
- OdbcParameterCollection.cs
- HashMembershipCondition.cs
- TaskFormBase.cs
- NTAccount.cs
- Ticks.cs
- NativeMethods.cs
- AstTree.cs
- DrawingBrush.cs
- UserControl.cs
- CodeTypeParameterCollection.cs
- ControlPersister.cs
- DllNotFoundException.cs
- TransformerInfoCollection.cs
- OdbcConnectionOpen.cs
- ContextProperty.cs
- SourceChangedEventArgs.cs
- FormsIdentity.cs
- brushes.cs
- __TransparentProxy.cs
- IxmlLineInfo.cs
- RangeContentEnumerator.cs
- MemberInfoSerializationHolder.cs
- InstanceStoreQueryResult.cs
- HelpEvent.cs
- SelectorAutomationPeer.cs
- RPIdentityRequirement.cs
- RangeBase.cs
- _emptywebproxy.cs
- ListBox.cs
- UIPropertyMetadata.cs
- ControlPaint.cs
- Utils.cs
- DoubleAnimation.cs
- XslUrlEditor.cs
- ActivityXRefConverter.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- CustomAttributeFormatException.cs
- IProvider.cs
- RestClientProxyHandler.cs
- CommentEmitter.cs
- HttpRequestCacheValidator.cs
- Single.cs
- AssemblyBuilder.cs
- D3DImage.cs
- DefaultValueAttribute.cs
- GlobalizationSection.cs
- ProtocolViolationException.cs
- HostingEnvironmentSection.cs
- StatusBarAutomationPeer.cs
- NativeRecognizer.cs
- PageCatalogPart.cs
- RtfToXamlReader.cs
- WebBrowser.cs