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
- BinaryConverter.cs
- ClientType.cs
- BitmapEffectState.cs
- ReadOnlyDataSourceView.cs
- AddIn.cs
- MsmqIntegrationInputMessage.cs
- AffineTransform3D.cs
- MeasureData.cs
- DrawingServices.cs
- LocationSectionRecord.cs
- ObjectStateManager.cs
- SqlRowUpdatedEvent.cs
- SelectionUIService.cs
- CompositeTypefaceMetrics.cs
- Win32SafeHandles.cs
- DataGridViewImageColumn.cs
- SingleSelectRootGridEntry.cs
- EventNotify.cs
- StreamInfo.cs
- XmlNullResolver.cs
- ListViewTableCell.cs
- UnsafeNativeMethods.cs
- FigureParaClient.cs
- DataObject.cs
- CommandManager.cs
- StartFileNameEditor.cs
- MachineKeyConverter.cs
- TextViewBase.cs
- MonthChangedEventArgs.cs
- SqlDataSourceSelectingEventArgs.cs
- ControlBuilder.cs
- SapiInterop.cs
- AspNetSynchronizationContext.cs
- SqlCacheDependencyDatabaseCollection.cs
- Effect.cs
- WorkflowServiceAttributesTypeConverter.cs
- ActivityDesignerHighlighter.cs
- EnumValAlphaComparer.cs
- SqlBuffer.cs
- TagMapInfo.cs
- UIElementHelper.cs
- ImageMapEventArgs.cs
- ReachFixedDocumentSerializerAsync.cs
- ProtocolsConfiguration.cs
- ComplexLine.cs
- PropertyBuilder.cs
- CodePageEncoding.cs
- KeyNotFoundException.cs
- ImageListStreamer.cs
- ProviderException.cs
- TableCellAutomationPeer.cs
- SByteConverter.cs
- Encoder.cs
- InvokeAction.cs
- Vector3D.cs
- SoapRpcServiceAttribute.cs
- xmlfixedPageInfo.cs
- InternalPermissions.cs
- ContextMenu.cs
- CookielessData.cs
- PropertyMetadata.cs
- QuarticEase.cs
- PolyBezierSegment.cs
- DrawingCollection.cs
- UnsafeMethods.cs
- XmlExceptionHelper.cs
- EntityDataSourceDesignerHelper.cs
- ParameterInfo.cs
- PostBackOptions.cs
- ToolStripSettings.cs
- MissingManifestResourceException.cs
- LabelLiteral.cs
- EventHandlersStore.cs
- AppDomainGrammarProxy.cs
- QilInvoke.cs
- DeadCharTextComposition.cs
- ConfigXmlElement.cs
- IndentedTextWriter.cs
- ListView.cs
- ContractValidationHelper.cs
- MulticastOption.cs
- CacheModeConverter.cs
- SymbolType.cs
- StyleSheetDesigner.cs
- ObjectStateEntry.cs
- GC.cs
- UseLicense.cs
- Operators.cs
- CallbackValidator.cs
- GregorianCalendar.cs
- FaultDescriptionCollection.cs
- DispatcherTimer.cs
- shaperfactory.cs
- XmlFormatExtensionPointAttribute.cs
- CallTemplateAction.cs
- SplineKeyFrames.cs
- Polyline.cs
- UriParserTemplates.cs
- WpfPayload.cs
- GradientStopCollection.cs