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
- PtsContext.cs
- SecurityPolicySection.cs
- CornerRadius.cs
- DispatcherSynchronizationContext.cs
- AnchoredBlock.cs
- LogicalCallContext.cs
- ButtonBaseAdapter.cs
- LocatorPart.cs
- DataGridViewSelectedCellCollection.cs
- GridViewCommandEventArgs.cs
- DispatcherProcessingDisabled.cs
- CSharpCodeProvider.cs
- AnnotationElement.cs
- ComponentGlyph.cs
- ToolStripTextBox.cs
- PropertiesTab.cs
- FileDataSourceCache.cs
- PartitionedDataSource.cs
- ListItemViewControl.cs
- AtomPub10CategoriesDocumentFormatter.cs
- AsymmetricKeyExchangeFormatter.cs
- SqlErrorCollection.cs
- AutomationElementCollection.cs
- UInt32Converter.cs
- AutoGeneratedField.cs
- FlatButtonAppearance.cs
- MultiView.cs
- IItemProperties.cs
- Mutex.cs
- XmlWriter.cs
- SrgsElementFactoryCompiler.cs
- AccessedThroughPropertyAttribute.cs
- ZipIOLocalFileDataDescriptor.cs
- ModelTreeManager.cs
- TextSpan.cs
- SqlInternalConnectionTds.cs
- CompensatableSequenceActivity.cs
- Soap12FormatExtensions.cs
- FixedTextContainer.cs
- DockPanel.cs
- DesigntimeLicenseContextSerializer.cs
- ExtenderProvidedPropertyAttribute.cs
- ObservableDictionary.cs
- QuotedStringWriteStateInfo.cs
- InvalidAsynchronousStateException.cs
- PenContext.cs
- DataGridViewButtonColumn.cs
- LayoutExceptionEventArgs.cs
- PageAdapter.cs
- WorkflowQueueInfo.cs
- FormatStringEditor.cs
- InkCanvasSelectionAdorner.cs
- LineServicesCallbacks.cs
- EdmFunction.cs
- MDIWindowDialog.cs
- MemoryRecordBuffer.cs
- DatePickerTextBox.cs
- ExpressionConverter.cs
- TextEmbeddedObject.cs
- DynamicDocumentPaginator.cs
- ClientSettingsSection.cs
- ConstNode.cs
- SinglePhaseEnlistment.cs
- Content.cs
- ListBoxItemAutomationPeer.cs
- TextRangeEdit.cs
- JournalEntry.cs
- EmbeddedMailObject.cs
- cryptoapiTransform.cs
- ComPlusServiceHost.cs
- GreaterThanOrEqual.cs
- Synchronization.cs
- DiscreteKeyFrames.cs
- _ListenerRequestStream.cs
- MdiWindowListItemConverter.cs
- ChangePassword.cs
- TextServicesCompartmentEventSink.cs
- TypefaceMetricsCache.cs
- QueryCacheEntry.cs
- PeerName.cs
- DataGridColumnCollectionEditor.cs
- AttachmentService.cs
- TextCompositionEventArgs.cs
- HTTPNotFoundHandler.cs
- CommonServiceBehaviorElement.cs
- MachineKeySection.cs
- TreeWalkHelper.cs
- StringFormat.cs
- TextEffect.cs
- ConnectionStringSettings.cs
- IERequestCache.cs
- XmlWrappingReader.cs
- FunctionDescription.cs
- UnaryQueryOperator.cs
- ShutDownListener.cs
- QilInvokeLateBound.cs
- DesignTimeVisibleAttribute.cs
- SchemaNamespaceManager.cs
- HtmlButton.cs
- EncoderReplacementFallback.cs