Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / clr / src / BCL / System / ArgumentOutOfRangeException.cs / 1 / ArgumentOutOfRangeException.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================================== ** ** Class: ArgumentOutOfRangeException ** ** ** Purpose: Exception class for method arguments outside of the legal range. ** ** =============================================================================*/ namespace System { using System; using System.Runtime.Remoting; using System.Runtime.Serialization; using System.Globalization; using System.Security.Permissions; // The ArgumentOutOfRangeException is thrown when an argument // is outside the legal range for that argument. [System.Runtime.InteropServices.ComVisible(true)] [Serializable()] public class ArgumentOutOfRangeException : ArgumentException, ISerializable { private static String _rangeMessage; private Object m_actualValue; private static String RangeMessage { get { if (_rangeMessage == null) _rangeMessage = Environment.GetResourceString("Arg_ArgumentOutOfRangeException"); return _rangeMessage; } } // Creates a new ArgumentOutOfRangeException with its message // string set to a default message explaining an argument was out of range. public ArgumentOutOfRangeException() : base(RangeMessage) { SetErrorCode(__HResults.COR_E_ARGUMENTOUTOFRANGE); } public ArgumentOutOfRangeException(String paramName) : base(RangeMessage, paramName) { SetErrorCode(__HResults.COR_E_ARGUMENTOUTOFRANGE); } public ArgumentOutOfRangeException(String paramName, String message) : base(message, paramName) { SetErrorCode(__HResults.COR_E_ARGUMENTOUTOFRANGE); } public ArgumentOutOfRangeException(String message, Exception innerException) : base(message, innerException) { SetErrorCode(__HResults.COR_E_ARGUMENTOUTOFRANGE); } // We will not use this in the classlibs, but we'll provide it for // anyone that's really interested so they don't have to stick a bunch // of printf's in their code. public ArgumentOutOfRangeException(String paramName, Object actualValue, String message) : base(message, paramName) { m_actualValue = actualValue; SetErrorCode(__HResults.COR_E_ARGUMENTOUTOFRANGE); } public override String Message { get { String s = base.Message; if (m_actualValue != null) { String valueMessage = String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("ArgumentOutOfRange_ActualValue"), m_actualValue.ToString()); if (s == null) return valueMessage; return s + Environment.NewLine + valueMessage; } return s; } } // Gets the value of the argument that caused the exception. // Note - we don't set this anywhere in the class libraries in // version 1, but it might come in handy for other developers who // want to avoid sticking printf's in their code. public virtual Object ActualValue { get { return m_actualValue; } } [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)] public override void GetObjectData(SerializationInfo info, StreamingContext context) { if (info==null) { throw new ArgumentNullException("info"); } base.GetObjectData(info, context); info.AddValue("ActualValue", m_actualValue, typeof(Object)); } protected ArgumentOutOfRangeException(SerializationInfo info, StreamingContext context) : base(info, context) { m_actualValue = info.GetValue("ActualValue", typeof(Object)); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================================== ** ** Class: ArgumentOutOfRangeException ** ** ** Purpose: Exception class for method arguments outside of the legal range. ** ** =============================================================================*/ namespace System { using System; using System.Runtime.Remoting; using System.Runtime.Serialization; using System.Globalization; using System.Security.Permissions; // The ArgumentOutOfRangeException is thrown when an argument // is outside the legal range for that argument. [System.Runtime.InteropServices.ComVisible(true)] [Serializable()] public class ArgumentOutOfRangeException : ArgumentException, ISerializable { private static String _rangeMessage; private Object m_actualValue; private static String RangeMessage { get { if (_rangeMessage == null) _rangeMessage = Environment.GetResourceString("Arg_ArgumentOutOfRangeException"); return _rangeMessage; } } // Creates a new ArgumentOutOfRangeException with its message // string set to a default message explaining an argument was out of range. public ArgumentOutOfRangeException() : base(RangeMessage) { SetErrorCode(__HResults.COR_E_ARGUMENTOUTOFRANGE); } public ArgumentOutOfRangeException(String paramName) : base(RangeMessage, paramName) { SetErrorCode(__HResults.COR_E_ARGUMENTOUTOFRANGE); } public ArgumentOutOfRangeException(String paramName, String message) : base(message, paramName) { SetErrorCode(__HResults.COR_E_ARGUMENTOUTOFRANGE); } public ArgumentOutOfRangeException(String message, Exception innerException) : base(message, innerException) { SetErrorCode(__HResults.COR_E_ARGUMENTOUTOFRANGE); } // We will not use this in the classlibs, but we'll provide it for // anyone that's really interested so they don't have to stick a bunch // of printf's in their code. public ArgumentOutOfRangeException(String paramName, Object actualValue, String message) : base(message, paramName) { m_actualValue = actualValue; SetErrorCode(__HResults.COR_E_ARGUMENTOUTOFRANGE); } public override String Message { get { String s = base.Message; if (m_actualValue != null) { String valueMessage = String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("ArgumentOutOfRange_ActualValue"), m_actualValue.ToString()); if (s == null) return valueMessage; return s + Environment.NewLine + valueMessage; } return s; } } // Gets the value of the argument that caused the exception. // Note - we don't set this anywhere in the class libraries in // version 1, but it might come in handy for other developers who // want to avoid sticking printf's in their code. public virtual Object ActualValue { get { return m_actualValue; } } [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)] public override void GetObjectData(SerializationInfo info, StreamingContext context) { if (info==null) { throw new ArgumentNullException("info"); } base.GetObjectData(info, context); info.AddValue("ActualValue", m_actualValue, typeof(Object)); } protected ArgumentOutOfRangeException(SerializationInfo info, StreamingContext context) : base(info, context) { m_actualValue = info.GetValue("ActualValue", typeof(Object)); } } } // 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
- ConnectionConsumerAttribute.cs
- CompositeCollectionView.cs
- EnumerableCollectionView.cs
- ProfileEventArgs.cs
- ViewManagerAttribute.cs
- ScaleTransform.cs
- ItemList.cs
- SHA512CryptoServiceProvider.cs
- ZipIOExtraField.cs
- MimeObjectFactory.cs
- RTLAwareMessageBox.cs
- ButtonFieldBase.cs
- MetadataSerializer.cs
- MissingMethodException.cs
- ElementProxy.cs
- SafeFileMappingHandle.cs
- BehaviorDragDropEventArgs.cs
- DbConvert.cs
- ZeroOpNode.cs
- ObjectIDGenerator.cs
- thaishape.cs
- ScrollBarAutomationPeer.cs
- MobilePage.cs
- oledbconnectionstring.cs
- IndicFontClient.cs
- Matrix.cs
- DataListItem.cs
- ControlEvent.cs
- ScrollViewer.cs
- RoleService.cs
- ParamArrayAttribute.cs
- filewebresponse.cs
- _NetworkingPerfCounters.cs
- StructuredTypeEmitter.cs
- ApplicationTrust.cs
- DSASignatureDeformatter.cs
- Single.cs
- Parsers.cs
- TypeContext.cs
- ProvidersHelper.cs
- RubberbandSelector.cs
- datacache.cs
- SqlDuplicator.cs
- VolatileEnlistmentMultiplexing.cs
- ValidatorCollection.cs
- PropertyDescriptorComparer.cs
- LinkUtilities.cs
- ListComponentEditor.cs
- SynchronizationContext.cs
- ButtonRenderer.cs
- ServiceEndpoint.cs
- ContainerParaClient.cs
- TextCollapsingProperties.cs
- StrokeCollection.cs
- ComplexLine.cs
- JoinSymbol.cs
- QueryPageSettingsEventArgs.cs
- NotifyIcon.cs
- DataObjectCopyingEventArgs.cs
- ProviderCommandInfoUtils.cs
- QueryIntervalOp.cs
- SortExpressionBuilder.cs
- Verify.cs
- CodeRegionDirective.cs
- Resources.Designer.cs
- SettingsAttributeDictionary.cs
- TrustManagerMoreInformation.cs
- TimerEventSubscription.cs
- DetailsViewUpdatedEventArgs.cs
- OleDbCommand.cs
- Types.cs
- ConfigXmlWhitespace.cs
- ImageMetadata.cs
- AutomationPeer.cs
- ResourcePermissionBase.cs
- WsdlBuildProvider.cs
- WindowVisualStateTracker.cs
- Keyboard.cs
- _ChunkParse.cs
- HyperLink.cs
- FileDialog_Vista.cs
- StateDesigner.Helpers.cs
- ErrorHandler.cs
- HwndSubclass.cs
- GridViewSelectEventArgs.cs
- WeakReferenceKey.cs
- DateTimeFormat.cs
- SecurityException.cs
- BuildResult.cs
- DataGridViewCellStateChangedEventArgs.cs
- MetadataItemCollectionFactory.cs
- ZipIOCentralDirectoryFileHeader.cs
- XmlBinaryWriterSession.cs
- HttpCacheVary.cs
- SystemGatewayIPAddressInformation.cs
- XsltArgumentList.cs
- RemoteWebConfigurationHost.cs
- UInt32Converter.cs
- CustomBindingElement.cs
- SchemaType.cs