Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DataSet / System / Data / DataSetUtil.cs / 1 / 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
- WebBaseEventKeyComparer.cs
- MailAddressCollection.cs
- PeerNameRecordCollection.cs
- ObjectNotFoundException.cs
- InstanceNotReadyException.cs
- Light.cs
- ComponentChangedEvent.cs
- DataGridViewTextBoxEditingControl.cs
- EventSetter.cs
- QilList.cs
- SQLUtility.cs
- Propagator.JoinPropagator.JoinPredicateVisitor.cs
- ToggleButtonAutomationPeer.cs
- DataControlLinkButton.cs
- IndexerNameAttribute.cs
- SerialErrors.cs
- GraphicsPath.cs
- RefreshEventArgs.cs
- DragAssistanceManager.cs
- ThicknessKeyFrameCollection.cs
- UriSectionReader.cs
- CodeDefaultValueExpression.cs
- WebPartMinimizeVerb.cs
- arc.cs
- RegularExpressionValidator.cs
- HwndSourceKeyboardInputSite.cs
- DetailsViewRowCollection.cs
- TextTreeInsertElementUndoUnit.cs
- ServerIdentity.cs
- ZoomPercentageConverter.cs
- TextChangedEventArgs.cs
- DrawListViewItemEventArgs.cs
- PrivilegedConfigurationManager.cs
- RootProfilePropertySettingsCollection.cs
- OleDbParameter.cs
- WebBrowserDocumentCompletedEventHandler.cs
- PauseStoryboard.cs
- _ListenerRequestStream.cs
- HttpModuleAction.cs
- XmlSchemaProviderAttribute.cs
- CodeTypeConstructor.cs
- XmlComment.cs
- PointIndependentAnimationStorage.cs
- SchemaDeclBase.cs
- CollaborationHelperFunctions.cs
- ObjectIDGenerator.cs
- SoapAttributeOverrides.cs
- DataGridViewCellStateChangedEventArgs.cs
- DependencyPropertyChangedEventArgs.cs
- TypeKeyValue.cs
- _SslState.cs
- _NegotiateClient.cs
- TraceSection.cs
- ObsoleteAttribute.cs
- ToolBarTray.cs
- TimeSpanValidator.cs
- Solver.cs
- ServiceReference.cs
- NameValueConfigurationCollection.cs
- EventInfo.cs
- UriTemplateDispatchFormatter.cs
- SqlDependency.cs
- TransformGroup.cs
- SchemaAttDef.cs
- Configuration.cs
- SQLCharsStorage.cs
- PenCursorManager.cs
- DesignTimeVisibleAttribute.cs
- CodeChecksumPragma.cs
- DefaultEventAttribute.cs
- SequentialWorkflowHeaderFooter.cs
- WebBrowsableAttribute.cs
- TableItemStyle.cs
- Currency.cs
- SqlRemoveConstantOrderBy.cs
- ObsoleteAttribute.cs
- ListViewItemSelectionChangedEvent.cs
- DataGridColumnHeaderItemAutomationPeer.cs
- KernelTypeValidation.cs
- CustomWebEventKey.cs
- XmlSchemaSimpleContentRestriction.cs
- UdpUtility.cs
- CompoundFileDeflateTransform.cs
- prefixendpointaddressmessagefiltertable.cs
- AmbientValueAttribute.cs
- PropertyGridView.cs
- WebBrowser.cs
- Gdiplus.cs
- CompositionTarget.cs
- NegatedCellConstant.cs
- HttpWebRequestElement.cs
- Decimal.cs
- ContentElement.cs
- Localizer.cs
- MouseEventArgs.cs
- ResXResourceReader.cs
- Privilege.cs
- ProfileModule.cs
- Rectangle.cs
- ModifierKeysValueSerializer.cs