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
- WpfXamlMember.cs
- OrderPreservingPipeliningMergeHelper.cs
- KnownTypeDataContractResolver.cs
- PartitionerQueryOperator.cs
- MergablePropertyAttribute.cs
- ProfessionalColorTable.cs
- ISCIIEncoding.cs
- ConditionChanges.cs
- NameValueFileSectionHandler.cs
- TrackingAnnotationCollection.cs
- ResourceKey.cs
- WebPart.cs
- CustomWebEventKey.cs
- LinkTarget.cs
- UrlPath.cs
- InternalResources.cs
- TreeViewImageIndexConverter.cs
- CryptoHandle.cs
- SmtpTransport.cs
- Rotation3DKeyFrameCollection.cs
- UIElementPropertyUndoUnit.cs
- MediaPlayerState.cs
- FormParameter.cs
- MenuBindingsEditorForm.cs
- Misc.cs
- RuleInfoComparer.cs
- ErrorLog.cs
- RegularExpressionValidator.cs
- COM2Enum.cs
- ControlTemplate.cs
- XmlReflectionImporter.cs
- SrgsGrammar.cs
- FontCollection.cs
- XmlWrappingReader.cs
- TypeDescriptionProviderAttribute.cs
- CultureMapper.cs
- Mapping.cs
- BaseCodePageEncoding.cs
- _OSSOCK.cs
- MsmqDecodeHelper.cs
- login.cs
- Freezable.cs
- DiagnosticsElement.cs
- FamilyMapCollection.cs
- SingleSelectRootGridEntry.cs
- XmlSchemaGroupRef.cs
- Screen.cs
- FullTrustAssembliesSection.cs
- SwitchAttribute.cs
- HttpModuleCollection.cs
- TwoPhaseCommit.cs
- ControlCollection.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- ErrorHandlerModule.cs
- TextDecorationCollection.cs
- ExtensionElementCollection.cs
- WindowsIPAddress.cs
- StreamMarshaler.cs
- FileVersion.cs
- DataSetMappper.cs
- CompressedStack.cs
- XmlCustomFormatter.cs
- DummyDataSource.cs
- CheckableControlBaseAdapter.cs
- TableCellAutomationPeer.cs
- WebPartConnectionsEventArgs.cs
- SqlFacetAttribute.cs
- CodePropertyReferenceExpression.cs
- FormatterConverter.cs
- TimeSpanConverter.cs
- DesignerAutoFormatCollection.cs
- FutureFactory.cs
- ResXResourceWriter.cs
- DocumentCollection.cs
- ResetableIterator.cs
- Visual3D.cs
- SerializationFieldInfo.cs
- HostingEnvironmentSection.cs
- PreservationFileReader.cs
- DynamicVirtualDiscoSearcher.cs
- SqlMethodTransformer.cs
- CodeGotoStatement.cs
- x509utils.cs
- ProcessHost.cs
- ValidatedControlConverter.cs
- PostBackOptions.cs
- LinqDataSourceDisposeEventArgs.cs
- EntityDataSourceDataSelectionPanel.cs
- ParameterCollection.cs
- FileSystemEnumerable.cs
- SqlTopReducer.cs
- LambdaCompiler.Statements.cs
- SourceChangedEventArgs.cs
- Listbox.cs
- ContainerUtilities.cs
- TrackingStringDictionary.cs
- EndpointInfoCollection.cs
- ZipPackagePart.cs
- SizeLimitedCache.cs
- Duration.cs