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
- WsdlBuildProvider.cs
- PageRanges.cs
- XPathEmptyIterator.cs
- FixedSOMContainer.cs
- XmlEncoding.cs
- RemotingServices.cs
- GridViewRowPresenterBase.cs
- ToolStripDropDownClosedEventArgs.cs
- CompilerLocalReference.cs
- StrokeIntersection.cs
- WindowsGraphicsWrapper.cs
- Dynamic.cs
- MobileControl.cs
- XmlNamespaceDeclarationsAttribute.cs
- SqlMultiplexer.cs
- AnimationClockResource.cs
- ADMembershipUser.cs
- CounterSample.cs
- TraceSource.cs
- XPathDescendantIterator.cs
- ThemeInfoAttribute.cs
- NetCodeGroup.cs
- NonSerializedAttribute.cs
- MethodExpression.cs
- BaseParser.cs
- MarshalByValueComponent.cs
- SqlProvider.cs
- StorageModelBuildProvider.cs
- DataAccessor.cs
- BindableTemplateBuilder.cs
- SettingsPropertyNotFoundException.cs
- ThemeableAttribute.cs
- FormViewUpdatedEventArgs.cs
- MD5CryptoServiceProvider.cs
- Buffer.cs
- ADMembershipProvider.cs
- Subtree.cs
- XmlCharCheckingReader.cs
- CodeFieldReferenceExpression.cs
- BehaviorDragDropEventArgs.cs
- UpDownBase.cs
- DataRelationPropertyDescriptor.cs
- ParallelTimeline.cs
- DataGridViewToolTip.cs
- EDesignUtil.cs
- WebPartZoneCollection.cs
- NavigationProperty.cs
- SqlTypeConverter.cs
- CodeMemberMethod.cs
- UnsafePeerToPeerMethods.cs
- WebBrowsableAttribute.cs
- HTTPNotFoundHandler.cs
- CollectionChangedEventManager.cs
- UrlMappingCollection.cs
- AVElementHelper.cs
- AutomationTextAttribute.cs
- PackageRelationshipCollection.cs
- FileClassifier.cs
- ToggleProviderWrapper.cs
- FragmentNavigationEventArgs.cs
- StringInfo.cs
- Image.cs
- SystemIcmpV4Statistics.cs
- DBCommandBuilder.cs
- ProxySimple.cs
- LinkConverter.cs
- RectangleF.cs
- filewebresponse.cs
- DataGridViewComboBoxEditingControl.cs
- Path.cs
- PersonalizationProviderHelper.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs
- MultipleViewProviderWrapper.cs
- SqlNamer.cs
- ConfigurationPermission.cs
- BitmapEffectrendercontext.cs
- TextElementCollection.cs
- DataBindingValueUIHandler.cs
- COAUTHIDENTITY.cs
- ToolStripItemRenderEventArgs.cs
- PropertyPathConverter.cs
- Component.cs
- TargetException.cs
- BindingList.cs
- DocumentSchemaValidator.cs
- MappingModelBuildProvider.cs
- EntryPointNotFoundException.cs
- sqlmetadatafactory.cs
- TranslateTransform.cs
- X509CertificateClaimSet.cs
- GridViewHeaderRowPresenter.cs
- DataTableClearEvent.cs
- TextDecorationCollectionConverter.cs
- ResourceManager.cs
- IndentedWriter.cs
- DesignerHost.cs
- BStrWrapper.cs
- XMLUtil.cs
- FormViewInsertEventArgs.cs
- ToolStripRendererSwitcher.cs