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
- MailAddressParser.cs
- DesignTimeParseData.cs
- XmlQueryRuntime.cs
- TimelineClockCollection.cs
- SemaphoreSecurity.cs
- CellTreeNodeVisitors.cs
- VBCodeProvider.cs
- SelectionEditingBehavior.cs
- SelectionRange.cs
- ConfigXmlSignificantWhitespace.cs
- DbConnectionPool.cs
- StateMachine.cs
- OleTxTransactionInfo.cs
- ThemeableAttribute.cs
- CqlErrorHelper.cs
- TextFormatter.cs
- UnauthorizedWebPart.cs
- SiteMapDataSourceView.cs
- OracleNumber.cs
- SerialReceived.cs
- GuidTagList.cs
- WindowsNonControl.cs
- SingleSelectRootGridEntry.cs
- XPathAncestorIterator.cs
- Debugger.cs
- TableLayoutSettingsTypeConverter.cs
- Renderer.cs
- UrlMapping.cs
- SamlAudienceRestrictionCondition.cs
- WmlLabelAdapter.cs
- ApplicationInfo.cs
- InputLanguageProfileNotifySink.cs
- Quad.cs
- TextBoxBase.cs
- UriParserTemplates.cs
- TextChangedEventArgs.cs
- SessionStateSection.cs
- IDReferencePropertyAttribute.cs
- IntSecurity.cs
- SatelliteContractVersionAttribute.cs
- SoapTransportImporter.cs
- IArgumentProvider.cs
- XmlDataSourceNodeDescriptor.cs
- ConstructorBuilder.cs
- SByte.cs
- Calendar.cs
- TextBoxAutomationPeer.cs
- ClientBuildManagerCallback.cs
- WorkflowTransactionOptions.cs
- Cursors.cs
- ErrorFormatter.cs
- ScrollEvent.cs
- DocumentPageView.cs
- PreviewKeyDownEventArgs.cs
- Binding.cs
- KnownBoxes.cs
- FileChangeNotifier.cs
- PropertyManager.cs
- BuildManager.cs
- counter.cs
- RowTypeElement.cs
- PrePrepareMethodAttribute.cs
- HashJoinQueryOperatorEnumerator.cs
- SchemaDeclBase.cs
- ToolStripRendererSwitcher.cs
- BamlStream.cs
- HttpRequestCacheValidator.cs
- BindingMAnagerBase.cs
- ParenthesizePropertyNameAttribute.cs
- PackWebRequest.cs
- InvalidOleVariantTypeException.cs
- DataGridViewBand.cs
- RawStylusInputCustomDataList.cs
- DefaultHttpHandler.cs
- XamlReaderHelper.cs
- LogSwitch.cs
- ClientRequest.cs
- FunctionParameter.cs
- DbgUtil.cs
- Propagator.JoinPropagator.cs
- IxmlLineInfo.cs
- SR.Designer.cs
- RelatedPropertyManager.cs
- SeekableReadStream.cs
- WebCategoryAttribute.cs
- RequestCache.cs
- QilCloneVisitor.cs
- IPGlobalProperties.cs
- NeutralResourcesLanguageAttribute.cs
- LinqDataSourceInsertEventArgs.cs
- ActivityMarkupSerializationProvider.cs
- NativeMsmqMessage.cs
- Drawing.cs
- Simplifier.cs
- SessionSwitchEventArgs.cs
- DirectionalLight.cs
- PassportAuthenticationModule.cs
- ComPlusSynchronizationContext.cs
- InfoCardTrace.cs
- DisplayMemberTemplateSelector.cs