Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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)); } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TextReader.cs
- MultiPageTextView.cs
- Header.cs
- GridEntry.cs
- RuntimeConfigurationRecord.cs
- SafeFileMappingHandle.cs
- TextElement.cs
- Sql8ExpressionRewriter.cs
- AssemblyNameProxy.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- TextElementEnumerator.cs
- Compilation.cs
- MachineKeyConverter.cs
- DocumentGridPage.cs
- ObjectSpanRewriter.cs
- x509utils.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- Visual3D.cs
- GetImportedCardRequest.cs
- TextRangeEditTables.cs
- XmlCountingReader.cs
- CharAnimationBase.cs
- TripleDES.cs
- PasswordDeriveBytes.cs
- GPRECT.cs
- DateTimeFormatInfo.cs
- EventWaitHandle.cs
- StyleSheetRefUrlEditor.cs
- securitycriticaldataClass.cs
- PenContexts.cs
- DataSourceXmlClassAttribute.cs
- StructuralCache.cs
- RenderingEventArgs.cs
- AnnotationService.cs
- Columns.cs
- Point4DValueSerializer.cs
- ExtensibleClassFactory.cs
- DescendantOverDescendantQuery.cs
- Config.cs
- IsolatedStorageFile.cs
- TcpProcessProtocolHandler.cs
- EventProviderClassic.cs
- ListCollectionView.cs
- DependencyStoreSurrogate.cs
- ExtendedPropertyDescriptor.cs
- ItemContainerProviderWrapper.cs
- ControlCollection.cs
- XmlSchemaInferenceException.cs
- CodeVariableDeclarationStatement.cs
- XmlHierarchicalDataSourceView.cs
- GZipStream.cs
- TextSpanModifier.cs
- PrintDialogException.cs
- HandleTable.cs
- ExpressionBinding.cs
- GlyphShapingProperties.cs
- Span.cs
- DbDataRecord.cs
- StringKeyFrameCollection.cs
- Panel.cs
- Psha1DerivedKeyGenerator.cs
- Event.cs
- XsdCachingReader.cs
- Volatile.cs
- SHA384.cs
- UnsafeNativeMethods.cs
- DocumentScope.cs
- XamlPathDataSerializer.cs
- AddInAdapter.cs
- formatter.cs
- DataKeyArray.cs
- SqlProviderServices.cs
- UnmanagedMemoryStreamWrapper.cs
- SiteMapNode.cs
- ProxyHelper.cs
- BCryptSafeHandles.cs
- AttributeSetAction.cs
- DataGridSortCommandEventArgs.cs
- EmptyControlCollection.cs
- Int64AnimationBase.cs
- SiteIdentityPermission.cs
- StoragePropertyMapping.cs
- VBIdentifierDesigner.xaml.cs
- VisualCollection.cs
- TaiwanLunisolarCalendar.cs
- RegexCompilationInfo.cs
- TraceHandlerErrorFormatter.cs
- ArgumentOutOfRangeException.cs
- DecimalAnimation.cs
- MailAddressCollection.cs
- Opcode.cs
- GridViewRowCollection.cs
- DataBoundControlActionList.cs
- XPathSingletonIterator.cs
- AppDomainManager.cs
- ActivityMarkupSerializer.cs
- HtmlInputCheckBox.cs
- ChangeDirector.cs
- MonthChangedEventArgs.cs
- RSAOAEPKeyExchangeFormatter.cs