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
- ExecutionPropertyManager.cs
- OleDbTransaction.cs
- ControlOperationInvoker.cs
- ClosureBinding.cs
- DynamicMetaObject.cs
- XmlWhitespace.cs
- BinHexEncoding.cs
- TailPinnedEventArgs.cs
- PointValueSerializer.cs
- Rect3DValueSerializer.cs
- TypeBuilder.cs
- SelectionProviderWrapper.cs
- RegexGroupCollection.cs
- StickyNoteContentControl.cs
- SqlHelper.cs
- TableDetailsRow.cs
- SmiEventSink_Default.cs
- ServiceThrottlingBehavior.cs
- Int32AnimationBase.cs
- Int64AnimationUsingKeyFrames.cs
- RightsManagementPermission.cs
- ToolStripStatusLabel.cs
- XamlTemplateSerializer.cs
- WindowsSpinner.cs
- SqlIdentifier.cs
- NamespaceEmitter.cs
- GiveFeedbackEventArgs.cs
- Mappings.cs
- SinglePhaseEnlistment.cs
- OdbcHandle.cs
- SAPICategories.cs
- SymmetricKeyWrap.cs
- glyphs.cs
- IdentityReference.cs
- ExitEventArgs.cs
- COM2PropertyPageUITypeConverter.cs
- RecognizedAudio.cs
- SQLChars.cs
- Size.cs
- Size3DValueSerializer.cs
- XMLSchema.cs
- DropShadowBitmapEffect.cs
- OptionUsage.cs
- ClickablePoint.cs
- ZipIOLocalFileBlock.cs
- NetworkInterface.cs
- ConfigurationCollectionAttribute.cs
- PathParser.cs
- QueryableDataSourceEditData.cs
- FormsAuthenticationTicket.cs
- Msmq3PoisonHandler.cs
- ObjectConverter.cs
- MasterPageCodeDomTreeGenerator.cs
- xdrvalidator.cs
- RawStylusInputCustomDataList.cs
- Helpers.cs
- ListenerConnectionDemuxer.cs
- HybridObjectCache.cs
- AssemblySettingAttributes.cs
- FrameworkTextComposition.cs
- DateTimeOffsetStorage.cs
- XmlSchemaAttribute.cs
- PriorityBindingExpression.cs
- RemotingConfigParser.cs
- InstanceHandle.cs
- HttpClientCertificate.cs
- WebZone.cs
- Interlocked.cs
- ToolTip.cs
- ComPersistableTypeElementCollection.cs
- XPathExpr.cs
- DropDownButton.cs
- LinkArea.cs
- TouchFrameEventArgs.cs
- BaseCodeDomTreeGenerator.cs
- ThaiBuddhistCalendar.cs
- ProviderIncompatibleException.cs
- HyperLinkField.cs
- CharacterBuffer.cs
- ToolboxCategory.cs
- DbFunctionCommandTree.cs
- WebPartManagerDesigner.cs
- MessageQueueConverter.cs
- XmlWellformedWriterHelpers.cs
- LockCookie.cs
- Models.cs
- DataTableClearEvent.cs
- EntityDataSourceEntityTypeFilterItem.cs
- ScriptingAuthenticationServiceSection.cs
- MenuItem.cs
- EntityContainerRelationshipSetEnd.cs
- TextTreeDeleteContentUndoUnit.cs
- QuaternionConverter.cs
- mediapermission.cs
- XmlObjectSerializerReadContextComplexJson.cs
- PageBreakRecord.cs
- OptimizedTemplateContent.cs
- RewritingValidator.cs
- XmlSignatureProperties.cs
- TypeDescriptionProviderAttribute.cs