Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / ArgumentOutOfRangeException.cs / 1305376 / 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;
using System.Diagnostics.Contracts;
// 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 {
#if !FEATURE_SPLIT_RESOURCES
private static String _rangeMessage;
#endif
private Object m_actualValue;
private static String RangeMessage {
get {
#if FEATURE_SPLIT_RESOURCES
return Environment.GetResourceString("Arg_ArgumentOutOfRangeException");
#else
if (_rangeMessage == null)
_rangeMessage = Environment.GetResourceString("Arg_ArgumentOutOfRangeException");
return _rangeMessage;
#endif
}
}
// 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 = Environment.GetRuntimeResourceString("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; }
}
[System.Security.SecurityCritical] // auto-generated_required
public override void GetObjectData(SerializationInfo info, StreamingContext context) {
if (info==null) {
throw new ArgumentNullException("info");
}
Contract.EndContractBlock();
base.GetObjectData(info, context);
info.AddValue("ActualValue", m_actualValue, typeof(Object));
}
[System.Security.SecuritySafeCritical] // auto-generated
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
- SafeLibraryHandle.cs
- Vector3DCollectionConverter.cs
- Error.cs
- IdentityHolder.cs
- CipherData.cs
- FillBehavior.cs
- SoapProtocolImporter.cs
- httpstaticobjectscollection.cs
- FamilyMap.cs
- ConfigXmlAttribute.cs
- FileDialogCustomPlacesCollection.cs
- DbConnectionPoolCounters.cs
- DataGridViewCellMouseEventArgs.cs
- FormsAuthentication.cs
- RepeatBehaviorConverter.cs
- Trace.cs
- Stack.cs
- ValidatingCollection.cs
- String.cs
- AttachedPropertiesService.cs
- ClrProviderManifest.cs
- SqlConnectionManager.cs
- messageonlyhwndwrapper.cs
- ThreadExceptionDialog.cs
- StringExpressionSet.cs
- BrowserCapabilitiesFactory.cs
- DBSchemaRow.cs
- PeerNameRecord.cs
- FormViewDeletedEventArgs.cs
- controlskin.cs
- AssertSection.cs
- Bidi.cs
- SqlProvider.cs
- ImageConverter.cs
- ColumnMapProcessor.cs
- SafePointer.cs
- FormatSettings.cs
- AutoResizedEvent.cs
- CodeDelegateCreateExpression.cs
- XslTransform.cs
- WindowsFormsEditorServiceHelper.cs
- MetadataWorkspace.cs
- XmlSchema.cs
- PasswordTextContainer.cs
- ToolBar.cs
- RoutedEvent.cs
- ImpersonateTokenRef.cs
- PagePropertiesChangingEventArgs.cs
- XmlSchemaSimpleTypeRestriction.cs
- LambdaCompiler.Logical.cs
- Rotation3D.cs
- HtmlFormParameterWriter.cs
- GeometryModel3D.cs
- XPathMessageFilterElementComparer.cs
- LoginView.cs
- AQNBuilder.cs
- ZipIOLocalFileHeader.cs
- ElementHostPropertyMap.cs
- SimpleApplicationHost.cs
- AnchoredBlock.cs
- TPLETWProvider.cs
- PolyBezierSegment.cs
- SpellCheck.cs
- QueryContinueDragEvent.cs
- TerminateSequence.cs
- TextTreeFixupNode.cs
- Msec.cs
- MessageFilterException.cs
- UserControlCodeDomTreeGenerator.cs
- HitTestParameters.cs
- UserControlDesigner.cs
- Brush.cs
- SessionParameter.cs
- CompleteWizardStep.cs
- DataGridViewTextBoxColumn.cs
- milexports.cs
- GeneralTransform3D.cs
- ProfileGroupSettingsCollection.cs
- CheckedPointers.cs
- Symbol.cs
- Html32TextWriter.cs
- DistinctQueryOperator.cs
- XsdSchemaFileEditor.cs
- DateTime.cs
- BaseValidatorDesigner.cs
- TdsParameterSetter.cs
- EmptyElement.cs
- SystemColors.cs
- ExpandableObjectConverter.cs
- WebPartRestoreVerb.cs
- IntSecurity.cs
- UdpContractFilterBehavior.cs
- ColumnClickEvent.cs
- TdsParameterSetter.cs
- ParagraphResult.cs
- TreeNode.cs
- _CacheStreams.cs
- CodeMemberEvent.cs
- Int32CollectionValueSerializer.cs
- ChannelSinkStacks.cs