Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- Graphics.cs
- XmlValidatingReader.cs
- SoapTypeAttribute.cs
- Peer.cs
- SmtpMail.cs
- Ticks.cs
- Util.cs
- Message.cs
- ValueSerializerAttribute.cs
- HitTestFilterBehavior.cs
- ComponentDispatcher.cs
- HttpSocketManager.cs
- DataGridPagerStyle.cs
- COMException.cs
- EntityFunctions.cs
- AvTrace.cs
- DataSourceHelper.cs
- ProxyManager.cs
- TreeSet.cs
- AsymmetricSignatureFormatter.cs
- EmbeddedMailObjectsCollection.cs
- CodeTypeReferenceCollection.cs
- TransactionInterop.cs
- ContainerControlDesigner.cs
- DoubleKeyFrameCollection.cs
- MarshalByRefObject.cs
- MailDefinitionBodyFileNameEditor.cs
- Ops.cs
- AddInEnvironment.cs
- ButtonField.cs
- QilScopedVisitor.cs
- DetailsViewRowCollection.cs
- RowUpdatingEventArgs.cs
- LambdaValue.cs
- CustomTypeDescriptor.cs
- EncryptedKey.cs
- BooleanConverter.cs
- DbLambda.cs
- Keywords.cs
- StreamResourceInfo.cs
- GeometryDrawing.cs
- MetadataPropertyvalue.cs
- SystemNetHelpers.cs
- DataGridBoolColumn.cs
- ClientScriptManagerWrapper.cs
- DataGridViewDataErrorEventArgs.cs
- EntityModelBuildProvider.cs
- FormatConvertedBitmap.cs
- SystemIPGlobalStatistics.cs
- Image.cs
- datacache.cs
- X509SecurityTokenAuthenticator.cs
- AssemblyCacheEntry.cs
- ConnectionPoint.cs
- WSSecurityOneDotOneSendSecurityHeader.cs
- NTAccount.cs
- ForwardPositionQuery.cs
- Debug.cs
- AsyncOperationManager.cs
- TextDecorationCollectionConverter.cs
- ToolStripItemImageRenderEventArgs.cs
- ObjectListCommandEventArgs.cs
- GcSettings.cs
- SafeNativeMethods.cs
- UserNamePasswordValidator.cs
- ErrorRuntimeConfig.cs
- Profiler.cs
- ControlCommandSet.cs
- ClipboardData.cs
- PageAsyncTask.cs
- CipherData.cs
- ArithmeticException.cs
- DesignerSerializerAttribute.cs
- QueryParameter.cs
- UnionExpr.cs
- ProviderConnectionPoint.cs
- ImageAnimator.cs
- QueryPageSettingsEventArgs.cs
- ECDiffieHellmanCngPublicKey.cs
- httpapplicationstate.cs
- RequestCachePolicy.cs
- ParameterModifier.cs
- ActivityTrace.cs
- MD5.cs
- RenderData.cs
- TypeSystem.cs
- MenuItem.cs
- PathFigure.cs
- Pen.cs
- RouteData.cs
- RecognitionEventArgs.cs
- SimpleBitVector32.cs
- HttpBindingExtension.cs
- SocketCache.cs
- TreePrinter.cs
- TextTreeNode.cs
- GridViewUpdateEventArgs.cs
- HtmlInputReset.cs
- bindurihelper.cs
- SatelliteContractVersionAttribute.cs