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
- ListBox.cs
- SizeConverter.cs
- CompiledQuery.cs
- ToolStripItemEventArgs.cs
- TreeNodeStyleCollection.cs
- HttpHandlersSection.cs
- SmiMetaDataProperty.cs
- TransformerInfo.cs
- Journaling.cs
- SendMailErrorEventArgs.cs
- PersianCalendar.cs
- DynamicEndpointElement.cs
- XmlSchemaParticle.cs
- QueryContinueDragEventArgs.cs
- LayoutEngine.cs
- MarkupCompilePass2.cs
- DetailsViewRow.cs
- OracleRowUpdatingEventArgs.cs
- SettingsPropertyIsReadOnlyException.cs
- KeyValuePair.cs
- UnsafeNativeMethodsMilCoreApi.cs
- X509AsymmetricSecurityKey.cs
- StylusTip.cs
- ObjectTag.cs
- PackagePart.cs
- CheckBoxRenderer.cs
- CollectionAdapters.cs
- Timer.cs
- BaseServiceProvider.cs
- CompilerResults.cs
- DataGridCommandEventArgs.cs
- ScriptIgnoreAttribute.cs
- SystemIcmpV4Statistics.cs
- JsonDataContract.cs
- ParagraphVisual.cs
- SelectionGlyph.cs
- srgsitem.cs
- SoapSchemaMember.cs
- Directory.cs
- ToolStripSettings.cs
- TdsParserSessionPool.cs
- XdrBuilder.cs
- ReadOnlyNameValueCollection.cs
- Keywords.cs
- COAUTHINFO.cs
- TextLineResult.cs
- EntityViewGenerator.cs
- ToolbarAUtomationPeer.cs
- LassoSelectionBehavior.cs
- CalloutQueueItem.cs
- BitmapEffectrendercontext.cs
- BinaryParser.cs
- SpecialNameAttribute.cs
- SuppressIldasmAttribute.cs
- FlowDocumentReaderAutomationPeer.cs
- PersonalizationAdministration.cs
- Trace.cs
- MonikerHelper.cs
- FolderNameEditor.cs
- StylusEventArgs.cs
- GlyphElement.cs
- JavascriptCallbackMessageInspector.cs
- Tool.cs
- TableHeaderCell.cs
- Baml2006ReaderSettings.cs
- TextBlockAutomationPeer.cs
- PageMediaSize.cs
- TextRenderingModeValidation.cs
- RadioButton.cs
- ConfigXmlSignificantWhitespace.cs
- SystemUnicastIPAddressInformation.cs
- InvalidCastException.cs
- LinearKeyFrames.cs
- OrderedDictionaryStateHelper.cs
- EventRouteFactory.cs
- BoundPropertyEntry.cs
- ExpressionList.cs
- PriorityRange.cs
- InfoCardPolicy.cs
- XmlSchemaDocumentation.cs
- AddValidationError.cs
- HMACSHA256.cs
- VisualBasicDesignerHelper.cs
- StylusSystemGestureEventArgs.cs
- OptimalTextSource.cs
- ThicknessAnimationUsingKeyFrames.cs
- TableDetailsRow.cs
- RectAnimationBase.cs
- LinearKeyFrames.cs
- Image.cs
- XmlSchemaProviderAttribute.cs
- MarginCollapsingState.cs
- DataSourceSelectArguments.cs
- DataKeyArray.cs
- Scene3D.cs
- WindowsListViewGroupHelper.cs
- WinEventTracker.cs
- LookupBindingPropertiesAttribute.cs
- TextEndOfParagraph.cs
- rsa.cs