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
- FrameworkContentElement.cs
- ObjectListField.cs
- JobPageOrder.cs
- ToolbarAUtomationPeer.cs
- CharKeyFrameCollection.cs
- LexicalChunk.cs
- SQLInt64.cs
- CodeChecksumPragma.cs
- BoolExpressionVisitors.cs
- KnownAssembliesSet.cs
- InfoCardServiceInstallComponent.cs
- StateMachineAction.cs
- DateTimeOffsetConverter.cs
- WindowsPrincipal.cs
- CleanUpVirtualizedItemEventArgs.cs
- QueryNode.cs
- ToolStripManager.cs
- ValidationError.cs
- MappingException.cs
- TabItem.cs
- WhitespaceReader.cs
- InvalidProgramException.cs
- CalendarDay.cs
- UnmanagedBitmapWrapper.cs
- SrgsElementFactory.cs
- GridView.cs
- ClassicBorderDecorator.cs
- GlyphInfoList.cs
- TextChangedEventArgs.cs
- FormViewDesigner.cs
- ClearTypeHintValidation.cs
- Normalizer.cs
- ProbeDuplexCD1AsyncResult.cs
- DrawItemEvent.cs
- CustomAttributeBuilder.cs
- MaterialGroup.cs
- TypographyProperties.cs
- DeleteMemberBinder.cs
- ForeignKeyConstraint.cs
- ExpandCollapsePattern.cs
- LoginView.cs
- CachedTypeface.cs
- contentDescriptor.cs
- CharStorage.cs
- PageCatalogPart.cs
- CustomErrorCollection.cs
- TimerElapsedEvenArgs.cs
- sqlnorm.cs
- XamlInt32CollectionSerializer.cs
- ToolStripControlHost.cs
- SourceChangedEventArgs.cs
- TableParagraph.cs
- EntityKey.cs
- SafeNativeMethods.cs
- StylusButton.cs
- ChineseLunisolarCalendar.cs
- DataColumnPropertyDescriptor.cs
- TcpTransportSecurityElement.cs
- HttpApplication.cs
- CodeNamespaceCollection.cs
- StoreItemCollection.Loader.cs
- SharedStatics.cs
- TableLayoutCellPaintEventArgs.cs
- XPathAxisIterator.cs
- TryExpression.cs
- Rule.cs
- NonVisualControlAttribute.cs
- XmlSchemaType.cs
- TabPanel.cs
- LogManagementAsyncResult.cs
- XhtmlBasicFormAdapter.cs
- SimpleTypesSurrogate.cs
- AbandonedMutexException.cs
- ItemDragEvent.cs
- HorizontalAlignConverter.cs
- SystemEvents.cs
- ServiceModelEnhancedConfigurationElementCollection.cs
- ItemList.cs
- BinHexDecoder.cs
- SettingsAttributes.cs
- DispatcherSynchronizationContext.cs
- XhtmlBasicSelectionListAdapter.cs
- RelationalExpressions.cs
- CodeArrayIndexerExpression.cs
- DirectoryNotFoundException.cs
- MaterializeFromAtom.cs
- RootNamespaceAttribute.cs
- MessageBox.cs
- ThrowHelper.cs
- CheckBoxList.cs
- SmiRequestExecutor.cs
- FontFaceLayoutInfo.cs
- HyperLink.cs
- PipeConnection.cs
- SqlResolver.cs
- RowTypePropertyElement.cs
- DayRenderEvent.cs
- XPathMultyIterator.cs
- KnowledgeBase.cs
- PasswordRecovery.cs