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
- CodeGeneratorOptions.cs
- MultiSelectRootGridEntry.cs
- ProviderUtil.cs
- ModuleConfigurationInfo.cs
- SchemaRegistration.cs
- CachedTypeface.cs
- TheQuery.cs
- VariantWrapper.cs
- InvalidFilterCriteriaException.cs
- ReliableOutputSessionChannel.cs
- ProfessionalColors.cs
- TypeResolvingOptions.cs
- AVElementHelper.cs
- X509AudioLogo.cs
- GridViewHeaderRowPresenter.cs
- FileFormatException.cs
- FormParameter.cs
- JapaneseCalendar.cs
- GuidelineCollection.cs
- TextSearch.cs
- SecurityDocument.cs
- SchemaInfo.cs
- DateTimeFormat.cs
- SqlUtil.cs
- MembershipUser.cs
- AddressHeader.cs
- CultureInfoConverter.cs
- HealthMonitoringSectionHelper.cs
- WebCategoryAttribute.cs
- XslTransform.cs
- Int16Storage.cs
- NotifyInputEventArgs.cs
- AutoCompleteStringCollection.cs
- XamlSerializerUtil.cs
- OptimizedTemplateContentHelper.cs
- DoubleLink.cs
- WebPartConnectionCollection.cs
- XsdCachingReader.cs
- DockAndAnchorLayout.cs
- ItemsPresenter.cs
- FrameworkObject.cs
- AbstractSvcMapFileLoader.cs
- AuditLevel.cs
- WhitespaceRuleReader.cs
- CompensatableSequenceActivity.cs
- SecurityResources.cs
- ExtensibleClassFactory.cs
- ConditionCollection.cs
- RSAPKCS1KeyExchangeFormatter.cs
- GraphicsContext.cs
- SyntaxCheck.cs
- DotExpr.cs
- CompilationSection.cs
- SafeSystemMetrics.cs
- GeneralEndpointIdentity.cs
- AsynchronousChannel.cs
- RuleElement.cs
- BehaviorEditorPart.cs
- ResourceDescriptionAttribute.cs
- SoapDocumentMethodAttribute.cs
- DeferredRunTextReference.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- DataGridAutomationPeer.cs
- XamlContextStack.cs
- ActivationServices.cs
- TemplateBaseAction.cs
- RowToParametersTransformer.cs
- precedingquery.cs
- ConnectionConsumerAttribute.cs
- M3DUtil.cs
- SymmetricKey.cs
- DataViewSettingCollection.cs
- DbProviderFactory.cs
- ProfilePropertySettingsCollection.cs
- TrustLevelCollection.cs
- DropShadowEffect.cs
- PlainXmlWriter.cs
- ProgressBarHighlightConverter.cs
- PngBitmapDecoder.cs
- ButtonBase.cs
- HttpCachePolicy.cs
- UserPersonalizationStateInfo.cs
- RowUpdatingEventArgs.cs
- CLSCompliantAttribute.cs
- TemplateField.cs
- MasterPageBuildProvider.cs
- AssemblyHelper.cs
- IteratorAsyncResult.cs
- Int16Animation.cs
- AuthenticationModulesSection.cs
- VersionUtil.cs
- FontStretch.cs
- QilStrConcat.cs
- Expander.cs
- RawContentTypeMapper.cs
- XmlSchemaType.cs
- MultilineStringConverter.cs
- CheckPair.cs
- documentsequencetextcontainer.cs
- DbExpressionVisitor_TResultType.cs