Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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)); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TransformedBitmap.cs
- MobileErrorInfo.cs
- IdleTimeoutMonitor.cs
- FontResourceCache.cs
- EncoderParameters.cs
- StylusPointCollection.cs
- LazyTextWriterCreator.cs
- Durable.cs
- ListView.cs
- SqlRemoveConstantOrderBy.cs
- Misc.cs
- TextServicesCompartmentEventSink.cs
- DeflateStream.cs
- TimeZone.cs
- RelatedEnd.cs
- ProcessHostFactoryHelper.cs
- OleDbConnection.cs
- WebScriptServiceHost.cs
- TargetControlTypeAttribute.cs
- LinkedResource.cs
- TextRangeSerialization.cs
- CompiledXpathExpr.cs
- LineMetrics.cs
- SafeProcessHandle.cs
- GenericRootAutomationPeer.cs
- EntityContainerEmitter.cs
- DiagnosticTraceSource.cs
- JsonStringDataContract.cs
- ListBindableAttribute.cs
- OptimizedTemplateContent.cs
- FixedStringLookup.cs
- X509CertificateTrustedIssuerElementCollection.cs
- FlowchartSizeFeature.cs
- ShellProvider.cs
- CodeGroup.cs
- CodeSubDirectoriesCollection.cs
- UntrustedRecipientException.cs
- SequentialActivityDesigner.cs
- DbConnectionClosed.cs
- ToolStripRendererSwitcher.cs
- UserMapPath.cs
- XPathDocumentBuilder.cs
- RequestCacheValidator.cs
- Int32Rect.cs
- FormViewUpdatedEventArgs.cs
- RichTextBoxConstants.cs
- ApplyImportsAction.cs
- XmlQueryCardinality.cs
- loginstatus.cs
- SecurityDescriptor.cs
- SafeArrayRankMismatchException.cs
- TreeViewDataItemAutomationPeer.cs
- ArcSegment.cs
- MasterPageCodeDomTreeGenerator.cs
- CodePageUtils.cs
- NativeMethodsCLR.cs
- ToolstripProfessionalRenderer.cs
- ExpressionBuilder.cs
- HttpModuleAction.cs
- TerminatorSinks.cs
- ToolStripSplitStackLayout.cs
- AttributeEmitter.cs
- ParsedRoute.cs
- Stopwatch.cs
- CheckBoxField.cs
- SettingsBase.cs
- QilVisitor.cs
- SqlDataSourceAdvancedOptionsForm.cs
- PrtCap_Public.cs
- TdsParserSafeHandles.cs
- _IPv6Address.cs
- RetrieveVirtualItemEventArgs.cs
- IODescriptionAttribute.cs
- DataGridViewCellStyle.cs
- ReadOnlyDictionary.cs
- UnionCodeGroup.cs
- UpDownBase.cs
- Divide.cs
- BindingContext.cs
- VirtualizedContainerService.cs
- XmlNavigatorStack.cs
- RoutedUICommand.cs
- TransformGroup.cs
- QilList.cs
- XmlDocumentType.cs
- CompilerError.cs
- ToolTipAutomationPeer.cs
- WCFBuildProvider.cs
- DataGridViewCellStateChangedEventArgs.cs
- BasicExpandProvider.cs
- GeometryHitTestParameters.cs
- ConnectionStringsExpressionBuilder.cs
- InvalidProgramException.cs
- MulticastOption.cs
- IriParsingElement.cs
- StateMachineDesignerPaint.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- PersonalizationAdministration.cs
- ToolStripControlHost.cs
- ModelItemImpl.cs