Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- GridItemPattern.cs
- XmlElement.cs
- Vector3DAnimationUsingKeyFrames.cs
- SafeArrayTypeMismatchException.cs
- ListViewHitTestInfo.cs
- ConnectionInterfaceCollection.cs
- DescendentsWalker.cs
- WinEventQueueItem.cs
- IntegerValidatorAttribute.cs
- VisualCollection.cs
- DocumentXmlWriter.cs
- Int32RectConverter.cs
- IndexedGlyphRun.cs
- HttpListener.cs
- ToolboxBitmapAttribute.cs
- ListViewAutomationPeer.cs
- WindowsListViewSubItem.cs
- StringAnimationUsingKeyFrames.cs
- EntityTemplateFactory.cs
- GC.cs
- WorkItem.cs
- XmlSchemaSimpleContentRestriction.cs
- CompilationUtil.cs
- CacheSection.cs
- Token.cs
- MatrixConverter.cs
- Switch.cs
- RemotingAttributes.cs
- XPathNodeInfoAtom.cs
- sortedlist.cs
- CodeGeneratorAttribute.cs
- TypeValidationEventArgs.cs
- WebEvents.cs
- _LoggingObject.cs
- Automation.cs
- DataGridViewLayoutData.cs
- SystemEvents.cs
- MetadataSection.cs
- NumberFormatInfo.cs
- Char.cs
- FeatureSupport.cs
- DrawingVisual.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- DeploymentSectionCache.cs
- Ray3DHitTestResult.cs
- FixedBufferAttribute.cs
- Emitter.cs
- SynchronizedDispatch.cs
- Maps.cs
- XmlSchemas.cs
- _FixedSizeReader.cs
- PackageRelationship.cs
- PropertyMapper.cs
- ProviderSettingsCollection.cs
- NetworkStream.cs
- Vector.cs
- AccessedThroughPropertyAttribute.cs
- PassportPrincipal.cs
- XD.cs
- VectorCollectionValueSerializer.cs
- SettingsPropertyNotFoundException.cs
- MonthChangedEventArgs.cs
- Events.cs
- Block.cs
- ManagementException.cs
- CapabilitiesPattern.cs
- GeometryCollection.cs
- Graphics.cs
- BinaryMethodMessage.cs
- HistoryEventArgs.cs
- HtmlElementEventArgs.cs
- TileBrush.cs
- VisualCollection.cs
- ArraySortHelper.cs
- WebBrowserNavigatedEventHandler.cs
- SemaphoreFullException.cs
- MissingSatelliteAssemblyException.cs
- AnimationClock.cs
- CharConverter.cs
- DbParameterHelper.cs
- ThreadPool.cs
- ManagementInstaller.cs
- ConnectionAcceptor.cs
- EmptyCollection.cs
- DataFieldConverter.cs
- DictionaryContent.cs
- latinshape.cs
- Matrix3D.cs
- TextTreeUndoUnit.cs
- XmlSchemaNotation.cs
- ExpressionNormalizer.cs
- OleDbMetaDataFactory.cs
- BasicHttpMessageSecurityElement.cs
- util.cs
- SessionStateSection.cs
- ProfileServiceManager.cs
- ConnectionString.cs
- DataSourceControlBuilder.cs
- InstallerTypeAttribute.cs
- CompiledScopeCriteria.cs