Code:
/ DotNET / DotNET / 8.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
- WebEvents.cs
- DrawingContextWalker.cs
- AuthenticatingEventArgs.cs
- DictionarySectionHandler.cs
- WebPageTraceListener.cs
- ImageButton.cs
- basecomparevalidator.cs
- TreeNodeClickEventArgs.cs
- DispatcherSynchronizationContext.cs
- _Semaphore.cs
- NativeMethods.cs
- WsdlBuildProvider.cs
- FileVersionInfo.cs
- WindowsFormsSectionHandler.cs
- WebAdminConfigurationHelper.cs
- SingletonConnectionReader.cs
- ConfigurationValue.cs
- UdpMessageProperty.cs
- RuntimeArgument.cs
- Token.cs
- GenericTypeParameterConverter.cs
- UserControlCodeDomTreeGenerator.cs
- MatrixAnimationBase.cs
- ProtectedConfigurationProviderCollection.cs
- FamilyCollection.cs
- InvokePattern.cs
- SAPIEngineTypes.cs
- COM2EnumConverter.cs
- DataTableNameHandler.cs
- DiscoveryService.cs
- Soap.cs
- PenThread.cs
- DataGridItemCollection.cs
- BitmapInitialize.cs
- Wizard.cs
- BatchParser.cs
- ValidatedControlConverter.cs
- ListDictionary.cs
- ConvertersCollection.cs
- DataBoundControlHelper.cs
- HandlerMappingMemo.cs
- SafeNativeMethods.cs
- UTF8Encoding.cs
- OdbcPermission.cs
- FlowDocumentPageViewerAutomationPeer.cs
- PtsContext.cs
- Rule.cs
- DoubleLinkList.cs
- Path.cs
- GridViewUpdateEventArgs.cs
- StringCollectionEditor.cs
- SettingsPropertyValueCollection.cs
- RTLAwareMessageBox.cs
- HostedHttpContext.cs
- TextRangeEdit.cs
- X509IssuerSerialKeyIdentifierClause.cs
- MeshGeometry3D.cs
- MethodRental.cs
- OdbcConnectionFactory.cs
- TextTreeRootNode.cs
- SettingsBase.cs
- GridViewRowPresenterBase.cs
- StreamReader.cs
- DelimitedListTraceListener.cs
- Transform3DCollection.cs
- FreezableCollection.cs
- StringAnimationUsingKeyFrames.cs
- SecurityDescriptor.cs
- XmlILIndex.cs
- HtmlSelect.cs
- Function.cs
- SchemaConstraints.cs
- XMLUtil.cs
- KeyValuePair.cs
- BindingMAnagerBase.cs
- GeometryConverter.cs
- tooltip.cs
- OleDbException.cs
- SizeF.cs
- WebBrowsableAttribute.cs
- CompositionAdorner.cs
- InstalledVoice.cs
- DbParameterCollectionHelper.cs
- FileUtil.cs
- SystemMulticastIPAddressInformation.cs
- Vector3D.cs
- TextFormatterHost.cs
- ShaderRenderModeValidation.cs
- Wildcard.cs
- BaseDataBoundControl.cs
- HandledMouseEvent.cs
- Deflater.cs
- CryptoApi.cs
- ReferentialConstraintRoleElement.cs
- propertyentry.cs
- ValidatedControlConverter.cs
- MatrixCamera.cs
- _CookieModule.cs
- XmlTextReaderImpl.cs
- SqlTypeConverter.cs