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
- messageonlyhwndwrapper.cs
- ContextQuery.cs
- StaticDataManager.cs
- CompModSwitches.cs
- SamlAttribute.cs
- ObjectHandle.cs
- CompiledELinqQueryState.cs
- StylusPointProperty.cs
- DetailsViewInsertEventArgs.cs
- NamespaceDecl.cs
- MenuItemBindingCollection.cs
- ManagedIStream.cs
- ExceptionUtil.cs
- XmlQueryOutput.cs
- Console.cs
- Rfc4050KeyFormatter.cs
- DataAccessException.cs
- RectangleGeometry.cs
- XsltException.cs
- AssemblyGen.cs
- BufferedWebEventProvider.cs
- XmlDocumentType.cs
- InternalSafeNativeMethods.cs
- HttpHandlerAction.cs
- Table.cs
- InputLanguage.cs
- EmbeddedMailObjectsCollection.cs
- PointAnimationUsingPath.cs
- EDesignUtil.cs
- TypeFieldSchema.cs
- EmptyStringExpandableObjectConverter.cs
- Model3DGroup.cs
- ConfigurationSchemaErrors.cs
- ModuleConfigurationInfo.cs
- COM2FontConverter.cs
- ComponentChangingEvent.cs
- HybridDictionary.cs
- WebDisplayNameAttribute.cs
- HttpApplication.cs
- EventTrigger.cs
- ExpandSegment.cs
- ClientProxyGenerator.cs
- ConfigurationStrings.cs
- AQNBuilder.cs
- WinFormsComponentEditor.cs
- DiscoveryDocumentSerializer.cs
- ManagementEventArgs.cs
- HtmlTableCell.cs
- DataMember.cs
- X509Extension.cs
- SyndicationSerializer.cs
- WindowsAuthenticationEventArgs.cs
- SocketPermission.cs
- RouteValueDictionary.cs
- TabItemWrapperAutomationPeer.cs
- ReadOnlyAttribute.cs
- SQLString.cs
- NativeMethods.cs
- HttpModuleCollection.cs
- EntityCollection.cs
- QilName.cs
- TypedTableBase.cs
- ParameterToken.cs
- InfiniteTimeSpanConverter.cs
- LinkLabelLinkClickedEvent.cs
- Roles.cs
- BitmapEffectGroup.cs
- ColumnResizeUndoUnit.cs
- DrawListViewSubItemEventArgs.cs
- TextSimpleMarkerProperties.cs
- AutomationPatternInfo.cs
- Vector3D.cs
- validation.cs
- DivideByZeroException.cs
- ErrorWrapper.cs
- DrawListViewColumnHeaderEventArgs.cs
- ConfigXmlWhitespace.cs
- Range.cs
- wgx_exports.cs
- MetafileHeaderWmf.cs
- ErrorFormatter.cs
- UInt16Storage.cs
- QualifierSet.cs
- Tokenizer.cs
- XPathDocumentNavigator.cs
- CodeAttributeArgument.cs
- ApplicationTrust.cs
- CompareValidator.cs
- SchemaElementDecl.cs
- QilInvoke.cs
- CssTextWriter.cs
- FrameworkContextData.cs
- EdmComplexTypeAttribute.cs
- Certificate.cs
- XPathMultyIterator.cs
- Utility.cs
- RowToParametersTransformer.cs
- DatagridviewDisplayedBandsData.cs
- IteratorFilter.cs
- AtomContentProperty.cs