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
- RenderingEventArgs.cs
- IntSecurity.cs
- FilterElement.cs
- CodeRemoveEventStatement.cs
- SectionXmlInfo.cs
- DataGridItemAutomationPeer.cs
- PlatformCulture.cs
- AppSettingsExpressionBuilder.cs
- AggregateException.cs
- SqlParameter.cs
- MessageDecoder.cs
- Color.cs
- TextAnchor.cs
- HwndSubclass.cs
- AutomationPropertyInfo.cs
- DataGridViewCellFormattingEventArgs.cs
- MexHttpBindingCollectionElement.cs
- RenderContext.cs
- SafeFileMappingHandle.cs
- WmlValidatorAdapter.cs
- WebPartConnectionsCancelEventArgs.cs
- TextTreeFixupNode.cs
- UserControl.cs
- WebPartConnectionCollection.cs
- RequestStatusBarUpdateEventArgs.cs
- XmlAttribute.cs
- Transform.cs
- Ops.cs
- NamespaceQuery.cs
- ListBox.cs
- XmlSubtreeReader.cs
- SpecialFolderEnumConverter.cs
- RelationshipEndCollection.cs
- CompositeDataBoundControl.cs
- OutputCacheProfileCollection.cs
- ExpressionBindingsDialog.cs
- UriTemplatePathPartiallyEquivalentSet.cs
- CodeIdentifiers.cs
- Dynamic.cs
- StopStoryboard.cs
- categoryentry.cs
- Debug.cs
- XhtmlBasicTextViewAdapter.cs
- ClassGenerator.cs
- ValidatedMobileControlConverter.cs
- DurationConverter.cs
- DecimalConverter.cs
- ButtonBaseAdapter.cs
- EditorZoneAutoFormat.cs
- DropTarget.cs
- WrappedIUnknown.cs
- DataGridViewComboBoxColumn.cs
- InvalidateEvent.cs
- LogicalMethodInfo.cs
- RecipientInfo.cs
- HostedAspNetEnvironment.cs
- ClrPerspective.cs
- NumericUpDownAccelerationCollection.cs
- QuotedPrintableStream.cs
- basevalidator.cs
- PagePropertiesChangingEventArgs.cs
- FlowDocumentPaginator.cs
- NavigateEvent.cs
- SizeChangedEventArgs.cs
- RelOps.cs
- MobileControlsSectionHelper.cs
- input.cs
- DragEventArgs.cs
- ControlPropertyNameConverter.cs
- MimeMapping.cs
- OutputWindow.cs
- TypeReference.cs
- PKCS1MaskGenerationMethod.cs
- ListViewGroup.cs
- AsyncPostBackErrorEventArgs.cs
- QilNode.cs
- WorkflowOperationInvoker.cs
- SourceCollection.cs
- BitmapSourceSafeMILHandle.cs
- XmlSchemaAppInfo.cs
- SessionStateItemCollection.cs
- StringAnimationBase.cs
- NavigationService.cs
- XmlUrlResolver.cs
- ClaimTypes.cs
- StaticSiteMapProvider.cs
- GridViewRowEventArgs.cs
- RadioButtonRenderer.cs
- LinqDataSourceInsertEventArgs.cs
- SiteMembershipCondition.cs
- ColorAnimation.cs
- FieldMetadata.cs
- RunClient.cs
- InvokeProviderWrapper.cs
- ListBoxItemWrapperAutomationPeer.cs
- SerializableAttribute.cs
- PropertyDescriptorCollection.cs
- PerspectiveCamera.cs
- AssemblyBuilder.cs
- WebPartEditorApplyVerb.cs