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
- DisplayClaim.cs
- TemplateEditingService.cs
- BinaryMethodMessage.cs
- FilterElement.cs
- DataControlFieldHeaderCell.cs
- InlineObject.cs
- FontWeights.cs
- ErrorEventArgs.cs
- BaseCodeDomTreeGenerator.cs
- MenuBindingsEditor.cs
- IndentTextWriter.cs
- Window.cs
- WindowsNonControl.cs
- WebBrowserNavigatingEventHandler.cs
- DataGridRowHeader.cs
- ManagementOperationWatcher.cs
- WindowsUpDown.cs
- PropertyGeneratedEventArgs.cs
- storepermission.cs
- TransformProviderWrapper.cs
- SmiConnection.cs
- DictionaryBase.cs
- SettingsContext.cs
- ObjectQuery_EntitySqlExtensions.cs
- AnnotationAuthorChangedEventArgs.cs
- XamlPoint3DCollectionSerializer.cs
- Debugger.cs
- Stylesheet.cs
- PropertyTabAttribute.cs
- Soap.cs
- GridView.cs
- SecurityTokenInclusionMode.cs
- ContractComponent.cs
- OleDbDataReader.cs
- LiteralTextContainerControlBuilder.cs
- MemoryRecordBuffer.cs
- SimpleLine.cs
- XPathException.cs
- DoubleLinkList.cs
- XmlSchemas.cs
- ReachSerializerAsync.cs
- TimelineCollection.cs
- PnrpPeerResolver.cs
- ObjectIDGenerator.cs
- SemanticResolver.cs
- RootBrowserWindowProxy.cs
- TableHeaderCell.cs
- WebBrowserPermission.cs
- DataGridViewCellValueEventArgs.cs
- _NTAuthentication.cs
- ProcessThread.cs
- WebBrowserContainer.cs
- FlowLayout.cs
- FlowDecision.cs
- dbdatarecord.cs
- FormatVersion.cs
- HashMembershipCondition.cs
- COM2PictureConverter.cs
- WorkflowFormatterBehavior.cs
- RSAPKCS1SignatureDeformatter.cs
- GenericEnumerator.cs
- X509ServiceCertificateAuthentication.cs
- xmlsaver.cs
- EntityCommandExecutionException.cs
- PipeStream.cs
- GroupBox.cs
- CharEntityEncoderFallback.cs
- WebBrowserNavigatedEventHandler.cs
- DocumentSequence.cs
- EventLogEntry.cs
- CacheEntry.cs
- TcpChannelHelper.cs
- StreamGeometryContext.cs
- HealthMonitoringSection.cs
- SerTrace.cs
- XomlCompilerError.cs
- GacUtil.cs
- CodeDomComponentSerializationService.cs
- ConfigurationSettings.cs
- PtsHelper.cs
- Condition.cs
- SystemIPInterfaceProperties.cs
- FocusManager.cs
- SourceFileBuildProvider.cs
- HtmlInputReset.cs
- WhitespaceRuleLookup.cs
- ByteKeyFrameCollection.cs
- BaseTemplateCodeDomTreeGenerator.cs
- TraceUtility.cs
- PowerModeChangedEventArgs.cs
- IsolationInterop.cs
- WCFModelStrings.Designer.cs
- ChtmlSelectionListAdapter.cs
- ActionItem.cs
- AnnotationHighlightLayer.cs
- FontStretches.cs
- InstalledFontCollection.cs
- CopyCodeAction.cs
- ExpressionBuilderContext.cs
- Attributes.cs