Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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.
//
// ==--==
/*==============================================================================
**
** 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AuthenticationServiceManager.cs
- HtmlAnchor.cs
- _BufferOffsetSize.cs
- TextRunTypographyProperties.cs
- InfocardExtendedInformationEntry.cs
- Set.cs
- TextBoxBase.cs
- CriticalFinalizerObject.cs
- ViewKeyConstraint.cs
- XmlSchemas.cs
- StatusBarDrawItemEvent.cs
- OrthographicCamera.cs
- MenuCommand.cs
- ApplicationFileParser.cs
- ConfigPathUtility.cs
- WebControlAdapter.cs
- UnmanagedMarshal.cs
- ActivityTypeResolver.xaml.cs
- ListViewItem.cs
- RowCache.cs
- NameSpaceEvent.cs
- CheckPair.cs
- ToolStripRendererSwitcher.cs
- InternalMappingException.cs
- OwnerDrawPropertyBag.cs
- SessionIDManager.cs
- WindowsListViewGroupSubsetLink.cs
- WebPartDeleteVerb.cs
- Char.cs
- WindowsFormsLinkLabel.cs
- EntityDataSourceContainerNameConverter.cs
- HttpUnhandledOperationInvoker.cs
- TypeUtils.cs
- DoubleConverter.cs
- VirtualizingStackPanel.cs
- SendingRequestEventArgs.cs
- EmulateRecognizeCompletedEventArgs.cs
- DeploymentSection.cs
- FileSystemEventArgs.cs
- DiagnosticsConfiguration.cs
- WorkflowNamespace.cs
- LineSegment.cs
- XmlMemberMapping.cs
- StrokeNodeEnumerator.cs
- DataGridViewDataConnection.cs
- PointValueSerializer.cs
- ImageListStreamer.cs
- VirtualizingPanel.cs
- CallbackValidator.cs
- VersionPair.cs
- PropertyChangingEventArgs.cs
- TextBreakpoint.cs
- UnaryOperationBinder.cs
- AesManaged.cs
- AtomContentProperty.cs
- WarningException.cs
- LinqDataSourceContextEventArgs.cs
- ScrollPattern.cs
- ObjectListDesigner.cs
- SequenceQuery.cs
- Form.cs
- DataGridViewRowEventArgs.cs
- NumericUpDownAccelerationCollection.cs
- DataGridViewToolTip.cs
- CellQuery.cs
- Matrix.cs
- QualifiedCellIdBoolean.cs
- IdentifierCollection.cs
- RecognitionEventArgs.cs
- MarkupExtensionParser.cs
- TextMetrics.cs
- RuntimeConfig.cs
- CompilerCollection.cs
- SignedXmlDebugLog.cs
- CustomWebEventKey.cs
- RelatedCurrencyManager.cs
- BindingContext.cs
- TableLayoutCellPaintEventArgs.cs
- BmpBitmapDecoder.cs
- XmlHierarchicalEnumerable.cs
- ToolStripSplitButton.cs
- sqlmetadatafactory.cs
- keycontainerpermission.cs
- ComponentConverter.cs
- RTLAwareMessageBox.cs
- DbMetaDataColumnNames.cs
- Help.cs
- CaretElement.cs
- RNGCryptoServiceProvider.cs
- TemplateEditingService.cs
- SchemaCreator.cs
- SequenceNumber.cs
- AlphabetConverter.cs
- WebConfigurationHost.cs
- SqlConnectionPoolGroupProviderInfo.cs
- followingquery.cs
- Configuration.cs
- ExpressionPrinter.cs
- DefaultSerializationProviderAttribute.cs
- HttpApplicationFactory.cs