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
- IconConverter.cs
- Model3D.cs
- AffineTransform3D.cs
- SessionPageStateSection.cs
- PanelDesigner.cs
- InvokeFunc.cs
- Path.cs
- PersistenceProviderDirectory.cs
- BufferBuilder.cs
- TypeConvertions.cs
- ScalarRestriction.cs
- InvalidComObjectException.cs
- ListDependantCardsRequest.cs
- EntityProviderServices.cs
- MatrixTransform3D.cs
- XPathEmptyIterator.cs
- IdentityManager.cs
- EastAsianLunisolarCalendar.cs
- GraphicsPathIterator.cs
- CancelAsyncOperationRequest.cs
- MatrixUtil.cs
- OleDbRowUpdatingEvent.cs
- DataQuery.cs
- PriorityItem.cs
- BinaryUtilClasses.cs
- PrefixQName.cs
- LayoutEditorPart.cs
- Point3DValueSerializer.cs
- XPathDocument.cs
- ExpressionsCollectionConverter.cs
- ConfigurationElement.cs
- CodeDelegateInvokeExpression.cs
- GeometryCombineModeValidation.cs
- WebControlParameterProxy.cs
- AspNetCacheProfileAttribute.cs
- OdbcUtils.cs
- ClientRoleProvider.cs
- ListManagerBindingsCollection.cs
- ChannelManager.cs
- Funcletizer.cs
- XPathNodeHelper.cs
- CorrelationValidator.cs
- CodeDomConfigurationHandler.cs
- WindowsListViewItem.cs
- IODescriptionAttribute.cs
- WebPartRestoreVerb.cs
- SelectingProviderEventArgs.cs
- IPPacketInformation.cs
- RouteItem.cs
- CodeAttributeDeclarationCollection.cs
- ThemeDirectoryCompiler.cs
- StackSpiller.cs
- DurableMessageDispatchInspector.cs
- KeyToListMap.cs
- LinqMaximalSubtreeNominator.cs
- BitmapEffectDrawing.cs
- SmtpDigestAuthenticationModule.cs
- ScriptControl.cs
- WebOperationContext.cs
- VisualStyleTypesAndProperties.cs
- WindowsListViewItem.cs
- SourceInterpreter.cs
- CodeThrowExceptionStatement.cs
- IdnMapping.cs
- StreamInfo.cs
- HttpHandlerAction.cs
- securitycriticaldataformultiplegetandset.cs
- DataGridCaption.cs
- ImageInfo.cs
- SqlFormatter.cs
- CommandValueSerializer.cs
- TextParagraph.cs
- DataObjectFieldAttribute.cs
- ContextMenu.cs
- UserNameSecurityTokenParameters.cs
- GeneratedCodeAttribute.cs
- WindowsListViewItemStartMenu.cs
- Win32Native.cs
- InputProcessorProfilesLoader.cs
- glyphs.cs
- safemediahandle.cs
- StylusPointPropertyId.cs
- ClrPerspective.cs
- WindowsListBox.cs
- StringSource.cs
- IisTraceListener.cs
- CssClassPropertyAttribute.cs
- TypeResolver.cs
- EventDescriptor.cs
- XmlElement.cs
- FrameworkObject.cs
- GrammarBuilderRuleRef.cs
- FrameSecurityDescriptor.cs
- ObjectNotFoundException.cs
- ProviderCollection.cs
- EntityDesignerBuildProvider.cs
- BuildProviderAppliesToAttribute.cs
- MessageFault.cs
- Style.cs
- CreateParams.cs