Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- LongValidator.cs
- RightsManagementEncryptedStream.cs
- HMAC.cs
- HtmlShimManager.cs
- ConfigXmlElement.cs
- NegotiateStream.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- ConditionalBranch.cs
- UnionCodeGroup.cs
- MetadataProperty.cs
- JsonServiceDocumentSerializer.cs
- RegexFCD.cs
- ZipIOFileItemStream.cs
- StructuralCache.cs
- SvcMapFile.cs
- recordstate.cs
- RSACryptoServiceProvider.cs
- ActivityValidator.cs
- TypefaceCollection.cs
- StylusCollection.cs
- DocumentViewerBase.cs
- ConfigXmlSignificantWhitespace.cs
- SoapAttributeOverrides.cs
- CalendarModeChangedEventArgs.cs
- AtlasWeb.Designer.cs
- GenericEnumConverter.cs
- CodeTypeDelegate.cs
- __ConsoleStream.cs
- ViewService.cs
- EventLogPropertySelector.cs
- Substitution.cs
- ResXFileRef.cs
- IdentifierService.cs
- PackWebRequestFactory.cs
- SpinLock.cs
- TimeStampChecker.cs
- DbParameterHelper.cs
- MultipleViewPattern.cs
- PrintController.cs
- SimpleParser.cs
- CodeExporter.cs
- WhitespaceSignificantCollectionAttribute.cs
- AccessKeyManager.cs
- ServiceChannelProxy.cs
- BindingGraph.cs
- Interlocked.cs
- FixedSOMElement.cs
- SqlProvider.cs
- ThumbAutomationPeer.cs
- DBDataPermissionAttribute.cs
- _StreamFramer.cs
- WebPartConnectionsCloseVerb.cs
- EventBuilder.cs
- ErrorTableItemStyle.cs
- CompositeScriptReference.cs
- FormsAuthenticationUser.cs
- GridViewAutomationPeer.cs
- WmpBitmapDecoder.cs
- HostedElements.cs
- Vertex.cs
- StreamWriter.cs
- HtmlInputRadioButton.cs
- glyphs.cs
- _SslState.cs
- CalendarDesigner.cs
- GridViewColumnCollectionChangedEventArgs.cs
- Logging.cs
- _NtlmClient.cs
- FormatStringEditor.cs
- EllipseGeometry.cs
- shaperfactory.cs
- TextProperties.cs
- WebBrowserPermission.cs
- MenuItemStyleCollectionEditor.cs
- ReadOnlyDictionary.cs
- DataGridView.cs
- ViewStateModeByIdAttribute.cs
- Permission.cs
- SqlError.cs
- CodePrimitiveExpression.cs
- CodeRemoveEventStatement.cs
- DictionaryEntry.cs
- Timeline.cs
- StaticContext.cs
- CellParaClient.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- TimeSpanConverter.cs
- SqlBuilder.cs
- LookupBindingPropertiesAttribute.cs
- LambdaCompiler.Expressions.cs
- HtmlShim.cs
- TimersDescriptionAttribute.cs
- SqlOuterApplyReducer.cs
- LinqDataSourceUpdateEventArgs.cs
- CngAlgorithmGroup.cs
- BooleanExpr.cs
- WebPartDisplayMode.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- GeometryHitTestResult.cs
- HandlerBase.cs