Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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)); } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ConstraintEnumerator.cs
- SimpleHandlerFactory.cs
- PointAnimationBase.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- ToolStripItemTextRenderEventArgs.cs
- ScrollProviderWrapper.cs
- DoWorkEventArgs.cs
- QuaternionAnimationUsingKeyFrames.cs
- DbTypeMap.cs
- TextFormatterHost.cs
- ContractHandle.cs
- HttpContext.cs
- FormViewDesigner.cs
- TransactionFlowProperty.cs
- FormParameter.cs
- ArcSegment.cs
- PenContexts.cs
- HostedHttpRequestAsyncResult.cs
- KeyInterop.cs
- _ChunkParse.cs
- SoapUnknownHeader.cs
- XamlReaderHelper.cs
- XmlSchemaSequence.cs
- CheckBoxPopupAdapter.cs
- SafeHandle.cs
- IERequestCache.cs
- TypeSystem.cs
- BrowserCapabilitiesFactoryBase.cs
- AuthenticatedStream.cs
- TraceData.cs
- SmiEventSink_DeferedProcessing.cs
- XmlObjectSerializerReadContext.cs
- SerialReceived.cs
- HttpListenerException.cs
- ArgumentOutOfRangeException.cs
- counter.cs
- HyperLinkDataBindingHandler.cs
- XmlReturnReader.cs
- PersonalizationStateInfoCollection.cs
- DataPagerField.cs
- DataBinding.cs
- ExtendedProtectionPolicyElement.cs
- XmlWhitespace.cs
- UrlMappingCollection.cs
- RawAppCommandInputReport.cs
- _TLSstream.cs
- Currency.cs
- FacetValueContainer.cs
- WindowsPrincipal.cs
- CharEntityEncoderFallback.cs
- DirectoryInfo.cs
- ObjectAnimationBase.cs
- WorkItem.cs
- TextAdaptor.cs
- DetailsViewInsertEventArgs.cs
- ObjectItemConventionAssemblyLoader.cs
- ArrayMergeHelper.cs
- ReflectEventDescriptor.cs
- TracedNativeMethods.cs
- PageContent.cs
- ParallelRangeManager.cs
- DataSetMappper.cs
- CommandLibraryHelper.cs
- PowerEase.cs
- Visual.cs
- XPathCompiler.cs
- HTTPNotFoundHandler.cs
- ToolBarOverflowPanel.cs
- CqlLexerHelpers.cs
- InputScopeNameConverter.cs
- SHA1CryptoServiceProvider.cs
- DictionarySurrogate.cs
- EntityDataSourceSelectingEventArgs.cs
- ObjectDataSourceFilteringEventArgs.cs
- DependencyPropertyKey.cs
- UIElementParaClient.cs
- WebPartConnectionsConnectVerb.cs
- Keyboard.cs
- FeatureSupport.cs
- LinqDataView.cs
- SizeKeyFrameCollection.cs
- DataSpaceManager.cs
- DataGridDesigner.cs
- MediaContextNotificationWindow.cs
- Container.cs
- TableLayoutPanelCellPosition.cs
- ValidationService.cs
- DesignerContextDescriptor.cs
- DataRelationCollection.cs
- RequestCacheValidator.cs
- TypeBuilder.cs
- TableCellCollection.cs
- OracleBoolean.cs
- BinaryCommonClasses.cs
- mansign.cs
- CornerRadiusConverter.cs
- XmlQueryTypeFactory.cs
- ClrPerspective.cs
- RawStylusInputCustomData.cs
- TrustSection.cs