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
- SimpleTableProvider.cs
- ConstraintStruct.cs
- DelegatedStream.cs
- ISAPIWorkerRequest.cs
- ConfigurationSettings.cs
- CodeCatchClauseCollection.cs
- GenericAuthenticationEventArgs.cs
- HtmlInputReset.cs
- PopOutPanel.cs
- storepermissionattribute.cs
- DataGridSortCommandEventArgs.cs
- XmlLinkedNode.cs
- BatchServiceHost.cs
- NativeMethods.cs
- PingReply.cs
- WebBrowserNavigatedEventHandler.cs
- TraversalRequest.cs
- Button.cs
- SingleStorage.cs
- XmlILIndex.cs
- ClientBuildManagerCallback.cs
- HwndMouseInputProvider.cs
- EventQueueState.cs
- SingleConverter.cs
- DataGridViewSelectedRowCollection.cs
- ResourceDescriptionAttribute.cs
- Event.cs
- RunWorkerCompletedEventArgs.cs
- UTF32Encoding.cs
- KeySplineConverter.cs
- VisualBrush.cs
- BCLDebug.cs
- DesignerTextBoxAdapter.cs
- SafeNativeMethods.cs
- Error.cs
- HeaderUtility.cs
- JumpTask.cs
- HostedHttpContext.cs
- AssemblyBuilder.cs
- OperationResponse.cs
- Ref.cs
- QilChoice.cs
- FontNamesConverter.cs
- ProviderCommandInfoUtils.cs
- DelegatingStream.cs
- DecimalAnimation.cs
- UserUseLicenseDictionaryLoader.cs
- InterleavedZipPartStream.cs
- Form.cs
- SetStateEventArgs.cs
- RowToFieldTransformer.cs
- AppDomainAttributes.cs
- InvokePatternIdentifiers.cs
- CommittableTransaction.cs
- MultipleViewProviderWrapper.cs
- DataMemberListEditor.cs
- ItemCollection.cs
- CallSiteOps.cs
- FeatureSupport.cs
- ThicknessAnimationBase.cs
- SqlFormatter.cs
- Base64Encoding.cs
- CheckBoxBaseAdapter.cs
- TreeNodeCollection.cs
- XmlDeclaration.cs
- ConstructorBuilder.cs
- RoleGroup.cs
- TraceContextRecord.cs
- ResizeBehavior.cs
- BrowserCapabilitiesFactory.cs
- DrawListViewItemEventArgs.cs
- TextRunProperties.cs
- XmlCountingReader.cs
- SystemFonts.cs
- StylusPointDescription.cs
- SQLInt32.cs
- PropertyPathConverter.cs
- NodeFunctions.cs
- VariantWrapper.cs
- UserPreferenceChangingEventArgs.cs
- WorkflowIdleBehavior.cs
- ExceptionHelpers.cs
- Visual.cs
- GetPageNumberCompletedEventArgs.cs
- BinaryFormatterWriter.cs
- SchemaNames.cs
- CryptoApi.cs
- XmlParserContext.cs
- XmlSignificantWhitespace.cs
- SystemThemeKey.cs
- OutputCacheModule.cs
- DefaultParameterValueAttribute.cs
- KnownTypesProvider.cs
- XamlToRtfParser.cs
- ControlEvent.cs
- RC2.cs
- DLinqTableProvider.cs
- SiteMap.cs
- ConfigXmlElement.cs
- BooleanStorage.cs