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
- BamlResourceDeserializer.cs
- Rect3D.cs
- XmlSchemaElement.cs
- KnownColorTable.cs
- SiteMembershipCondition.cs
- CompositeCollectionView.cs
- TextSearch.cs
- DataGridColumnHeadersPresenter.cs
- AuthenticationModuleElement.cs
- MouseActionConverter.cs
- coordinatorfactory.cs
- TemplateField.cs
- CacheSection.cs
- ProfessionalColorTable.cs
- IntellisenseTextBox.designer.cs
- ImagingCache.cs
- StatusBarItemAutomationPeer.cs
- MenuDesigner.cs
- CheckoutException.cs
- ControlParameter.cs
- QuotedPrintableStream.cs
- ExpressionTable.cs
- FastPropertyAccessor.cs
- BindingNavigator.cs
- AttributeAction.cs
- SamlConditions.cs
- AsymmetricKeyExchangeFormatter.cs
- TableLayout.cs
- DataControlFieldHeaderCell.cs
- BitVec.cs
- CompositeDataBoundControl.cs
- ListView.cs
- CompressionTracing.cs
- BitmapCache.cs
- TabControlAutomationPeer.cs
- XmlWriterSettings.cs
- DataGridViewAutoSizeModeEventArgs.cs
- CalendarTable.cs
- TextModifierScope.cs
- Context.cs
- AssemblyInfo.cs
- ByeMessageApril2005.cs
- DataGridViewRowsRemovedEventArgs.cs
- SystemMulticastIPAddressInformation.cs
- WebBrowserBase.cs
- StickyNoteAnnotations.cs
- TextEncodedRawTextWriter.cs
- Soap.cs
- CollectionChangedEventManager.cs
- AuthenticationException.cs
- SqlBooleanizer.cs
- InstanceData.cs
- Events.cs
- PolicyReader.cs
- Matrix.cs
- MemberDescriptor.cs
- AssemblyUtil.cs
- DirectoryNotFoundException.cs
- Compiler.cs
- MouseButton.cs
- Certificate.cs
- Container.cs
- KnownTypes.cs
- Ray3DHitTestResult.cs
- _FtpDataStream.cs
- DefaultProxySection.cs
- StateWorkerRequest.cs
- LinkClickEvent.cs
- XmlTypeAttribute.cs
- SemanticKeyElement.cs
- AuthenticationModuleElementCollection.cs
- DataGridViewCellFormattingEventArgs.cs
- Stream.cs
- ApplicationSettingsBase.cs
- Help.cs
- DrawingAttributeSerializer.cs
- HwndKeyboardInputProvider.cs
- MimeTypeAttribute.cs
- MasterPageParser.cs
- AncestorChangedEventArgs.cs
- Bits.cs
- EntityViewContainer.cs
- Function.cs
- ELinqQueryState.cs
- TdsParserHelperClasses.cs
- CreateUserWizardStep.cs
- HtmlControlPersistable.cs
- TypeUtils.cs
- TreeWalker.cs
- SmiContext.cs
- ResourceProviderFactory.cs
- SmiEventSink.cs
- TimeSpanValidator.cs
- MetadataException.cs
- XmlImplementation.cs
- AssemblyInfo.cs
- MessageSecurityVersionConverter.cs
- SqlMethodAttribute.cs
- PermissionSet.cs
- OutputCacheSettings.cs