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
- DNS.cs
- XhtmlBasicValidatorAdapter.cs
- ObjectCloneHelper.cs
- NegatedCellConstant.cs
- UserPersonalizationStateInfo.cs
- MsmqOutputSessionChannel.cs
- HtmlEncodedRawTextWriter.cs
- WebSysDisplayNameAttribute.cs
- Operators.cs
- XsltException.cs
- TextTreeObjectNode.cs
- DelegateSerializationHolder.cs
- PropertyConverter.cs
- DEREncoding.cs
- BinHexEncoder.cs
- PeerTransportCredentialType.cs
- SynthesizerStateChangedEventArgs.cs
- LinqDataSourceView.cs
- DbConnectionStringCommon.cs
- GlobalizationAssembly.cs
- DirectoryNotFoundException.cs
- ArraySegment.cs
- HttpCacheParams.cs
- ToolBarButton.cs
- TraceProvider.cs
- _IPv6Address.cs
- ChtmlPhoneCallAdapter.cs
- DbProviderManifest.cs
- WebCategoryAttribute.cs
- UIElementParaClient.cs
- Currency.cs
- HTTPNotFoundHandler.cs
- RepeaterCommandEventArgs.cs
- IntPtr.cs
- ObjectDataSourceMethodEditor.cs
- NumberAction.cs
- RoutingExtensionElement.cs
- ErrorsHelper.cs
- EdmType.cs
- FileNotFoundException.cs
- ListViewSortEventArgs.cs
- DispatcherHooks.cs
- XmlSchemaImporter.cs
- InlinedLocationReference.cs
- DoubleLink.cs
- SByteStorage.cs
- CryptoConfig.cs
- MemberProjectedSlot.cs
- MULTI_QI.cs
- DispatcherEventArgs.cs
- MetadataWorkspace.cs
- ConfigXmlReader.cs
- UIElementAutomationPeer.cs
- NotSupportedException.cs
- SqlNotificationRequest.cs
- PopupRoot.cs
- PeerNameRecord.cs
- ReachVisualSerializerAsync.cs
- FormsAuthenticationEventArgs.cs
- HitTestWithGeometryDrawingContextWalker.cs
- EntityDataSourceDesignerHelper.cs
- UIElement3D.cs
- ResourcePropertyMemberCodeDomSerializer.cs
- Empty.cs
- RealizationDrawingContextWalker.cs
- Utils.cs
- SelectionItemPattern.cs
- WorkflowViewStateService.cs
- PreservationFileWriter.cs
- AdapterDictionary.cs
- SettingsPropertyWrongTypeException.cs
- Run.cs
- _AuthenticationState.cs
- Internal.cs
- LocalizabilityAttribute.cs
- Serialization.cs
- FontEmbeddingManager.cs
- SynchronizedInputAdaptor.cs
- MessageFormatterConverter.cs
- GetPageNumberCompletedEventArgs.cs
- ChtmlPhoneCallAdapter.cs
- HttpContext.cs
- DotExpr.cs
- KernelTypeValidation.cs
- XamlStream.cs
- DragDeltaEventArgs.cs
- ChameleonKey.cs
- EqualityComparer.cs
- PeerEndPoint.cs
- GACIdentityPermission.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- LocationReference.cs
- PropertyInfo.cs
- HttpCacheVaryByContentEncodings.cs
- ViewCellRelation.cs
- X509Extension.cs
- DecoderBestFitFallback.cs
- AdCreatedEventArgs.cs
- XmlNamespaceDeclarationsAttribute.cs