Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlLanguage.cs
- SliderAutomationPeer.cs
- DisplayMemberTemplateSelector.cs
- XmlAttributeProperties.cs
- Cell.cs
- Random.cs
- SafeNativeMethods.cs
- SelectionManager.cs
- TaiwanLunisolarCalendar.cs
- SystemGatewayIPAddressInformation.cs
- ByteStack.cs
- GregorianCalendar.cs
- ValueExpressions.cs
- ByteArrayHelperWithString.cs
- EnumerableCollectionView.cs
- ThousandthOfEmRealPoints.cs
- GACMembershipCondition.cs
- CqlLexerHelpers.cs
- Send.cs
- PeerEndPoint.cs
- DictionarySectionHandler.cs
- GenericPrincipal.cs
- BuildProvider.cs
- ChangeToolStripParentVerb.cs
- OrElse.cs
- XmlReader.cs
- RectangleGeometry.cs
- EventOpcode.cs
- GradientBrush.cs
- XmlSchemaValidator.cs
- HostingPreferredMapPath.cs
- PathSegment.cs
- HttpCachePolicyElement.cs
- SafeFreeMibTable.cs
- TypeDescriptionProviderAttribute.cs
- ProcessHost.cs
- WindowsListView.cs
- TextElement.cs
- SHA512.cs
- TempFiles.cs
- SQLInt16Storage.cs
- DataSet.cs
- AutomationIdentifierGuids.cs
- InvalidEnumArgumentException.cs
- HostingEnvironmentException.cs
- XmlDataSourceDesigner.cs
- __ComObject.cs
- SmtpClient.cs
- ColumnMap.cs
- WebPartManagerDesigner.cs
- XpsFilter.cs
- WmfPlaceableFileHeader.cs
- MatrixTransform3D.cs
- CheckPair.cs
- CodePageEncoding.cs
- DataColumnPropertyDescriptor.cs
- uribuilder.cs
- BookmarkEventArgs.cs
- TimersDescriptionAttribute.cs
- HiddenField.cs
- SHA384.cs
- EmbeddedMailObject.cs
- EnumBuilder.cs
- COM2Properties.cs
- ObjectManager.cs
- XpsResourcePolicy.cs
- MenuAdapter.cs
- GetWorkflowTree.cs
- ExtractedStateEntry.cs
- ToolboxCategory.cs
- X509ChainElement.cs
- RuntimeHandles.cs
- FileInfo.cs
- KnownTypesProvider.cs
- _ShellExpression.cs
- MenuItem.cs
- SiteMapPath.cs
- XmlHierarchicalEnumerable.cs
- StructuredTypeEmitter.cs
- TrayIconDesigner.cs
- PropertyStore.cs
- CodeCastExpression.cs
- TreeIterators.cs
- SerializationException.cs
- ComponentChangedEvent.cs
- PerfCounterSection.cs
- ProtocolsConfiguration.cs
- Misc.cs
- ResetableIterator.cs
- Transform.cs
- IxmlLineInfo.cs
- wmiprovider.cs
- D3DImage.cs
- SystemFonts.cs
- TextFindEngine.cs
- SimpleTypeResolver.cs
- StorageComplexPropertyMapping.cs
- ToolStripArrowRenderEventArgs.cs
- WebEvents.cs
- ResourceManagerWrapper.cs