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
- PathStreamGeometryContext.cs
- OleServicesContext.cs
- DataStreams.cs
- EventSourceCreationData.cs
- Transform.cs
- UndoManager.cs
- ClassicBorderDecorator.cs
- TextBoxBase.cs
- Site.cs
- DirectoryNotFoundException.cs
- Section.cs
- WebPartZoneCollection.cs
- TransactionInformation.cs
- SqlErrorCollection.cs
- StringBlob.cs
- CheckBoxFlatAdapter.cs
- TableRowGroupCollection.cs
- CryptoApi.cs
- AssemblyNameProxy.cs
- FormsAuthenticationUserCollection.cs
- Transform3DGroup.cs
- ContainerControl.cs
- XmlDomTextWriter.cs
- DictionaryTraceRecord.cs
- Regex.cs
- __ConsoleStream.cs
- _NegotiateClient.cs
- MouseButton.cs
- PropertyDescriptorGridEntry.cs
- RtfControlWordInfo.cs
- BitmapMetadataBlob.cs
- SequentialOutput.cs
- HttpConfigurationSystem.cs
- DataGridViewColumnHeaderCell.cs
- TraceListener.cs
- GenericXmlSecurityTokenAuthenticator.cs
- AddInSegmentDirectoryNotFoundException.cs
- OutputWindow.cs
- ButtonBaseDesigner.cs
- JsonWriter.cs
- Solver.cs
- SecurityPolicySection.cs
- DataGridParentRows.cs
- MgmtConfigurationRecord.cs
- MDIWindowDialog.cs
- QuaternionIndependentAnimationStorage.cs
- TextEditorParagraphs.cs
- ToolStripButton.cs
- TextBoxAutomationPeer.cs
- ContextMenuStrip.cs
- ToolStripItemDesigner.cs
- RelationshipFixer.cs
- XmlNamespaceMapping.cs
- AuthenticatedStream.cs
- DbProviderSpecificTypePropertyAttribute.cs
- Console.cs
- IOException.cs
- PropertyEmitter.cs
- WebInvokeAttribute.cs
- NetStream.cs
- Size.cs
- SendMessageContent.cs
- ZipIOModeEnforcingStream.cs
- SignerInfo.cs
- ComponentEvent.cs
- ELinqQueryState.cs
- CachedRequestParams.cs
- CatalogPartCollection.cs
- KnownIds.cs
- MdiWindowListStrip.cs
- AssemblyHash.cs
- QueryContinueDragEvent.cs
- SqlDataSourceView.cs
- SmiEventSink_Default.cs
- XmlnsCompatibleWithAttribute.cs
- AudioFormatConverter.cs
- TreeViewBindingsEditor.cs
- ManualResetEvent.cs
- KeyTimeConverter.cs
- DispatchWrapper.cs
- ChannelDemuxer.cs
- AssemblyInfo.cs
- WhitespaceRuleLookup.cs
- Storyboard.cs
- ListBindableAttribute.cs
- QueuedDeliveryRequirementsMode.cs
- TableLayoutPanelResizeGlyph.cs
- CatchDesigner.xaml.cs
- GradientStop.cs
- RoleGroupCollection.cs
- CaseStatementProjectedSlot.cs
- EditBehavior.cs
- RegexRunner.cs
- XmlSchemaValidationException.cs
- EndpointNameMessageFilter.cs
- ViewGenResults.cs
- UserPreferenceChangingEventArgs.cs
- precedingsibling.cs
- ViewLoader.cs
- securestring.cs