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
- DrawingVisualDrawingContext.cs
- ReadOnlyDictionary.cs
- MatrixCamera.cs
- SelectionChangedEventArgs.cs
- ManualResetEvent.cs
- TemplateColumn.cs
- DivideByZeroException.cs
- ObsoleteAttribute.cs
- CompilerCollection.cs
- FileLoadException.cs
- RotateTransform3D.cs
- GeometryDrawing.cs
- ValueSerializerAttribute.cs
- PageFunction.cs
- LOSFormatter.cs
- NativeMethodsOther.cs
- _NetRes.cs
- DictionaryContent.cs
- SqlConnectionManager.cs
- TargetParameterCountException.cs
- SendAgentStatusRequest.cs
- DbConnectionFactory.cs
- BeginStoryboard.cs
- Lasso.cs
- CaseStatementProjectedSlot.cs
- SerTrace.cs
- UidManager.cs
- EntityContainerEntitySetDefiningQuery.cs
- HtmlShimManager.cs
- TrackingStringDictionary.cs
- ListComponentEditor.cs
- XamlReaderHelper.cs
- HelpKeywordAttribute.cs
- CreateInstanceBinder.cs
- RoutedEventConverter.cs
- ColumnResizeAdorner.cs
- ProtocolsInstallComponent.cs
- Collection.cs
- ServicePointManager.cs
- MimeXmlReflector.cs
- DiagnosticsConfigurationHandler.cs
- EncryptedPackageFilter.cs
- OptimizerPatterns.cs
- EntityDesignerUtils.cs
- TypeNameParser.cs
- QilFunction.cs
- CompositeActivityTypeDescriptorProvider.cs
- TemplateInstanceAttribute.cs
- Canvas.cs
- GorillaCodec.cs
- Renderer.cs
- DataSourceCacheDurationConverter.cs
- ActionFrame.cs
- TextContainerChangeEventArgs.cs
- Queue.cs
- GeneratedCodeAttribute.cs
- InteropExecutor.cs
- InputQueueChannel.cs
- DtrList.cs
- FragmentQueryKB.cs
- IntSecurity.cs
- AuthenticationConfig.cs
- NoResizeSelectionBorderGlyph.cs
- GPStream.cs
- SweepDirectionValidation.cs
- PolyBezierSegment.cs
- RightsManagementPermission.cs
- WebConfigurationHostFileChange.cs
- DataGridRowHeaderAutomationPeer.cs
- BindValidationContext.cs
- CompilerState.cs
- XmlUtf8RawTextWriter.cs
- FixedSOMPageElement.cs
- WebConfigurationManager.cs
- PropagatorResult.cs
- PeerObject.cs
- DeclaredTypeElement.cs
- NestPullup.cs
- ProxyDataContractResolver.cs
- ActiveXContainer.cs
- SqlComparer.cs
- Point3DValueSerializer.cs
- SingleAnimationBase.cs
- XmlValidatingReaderImpl.cs
- HostingEnvironment.cs
- WebPartConnectionsEventArgs.cs
- PKCS1MaskGenerationMethod.cs
- WmfPlaceableFileHeader.cs
- TrustManagerPromptUI.cs
- _FixedSizeReader.cs
- HyperLink.cs
- ServiceElement.cs
- OutKeywords.cs
- OdbcError.cs
- GenericUriParser.cs
- EpmSyndicationContentSerializer.cs
- CodeAttributeArgument.cs
- ReadOnlyPropertyMetadata.cs
- BaseParagraph.cs
- XmlDataDocument.cs