Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- SQLGuid.cs
- Point.cs
- SemanticResultKey.cs
- CompletedAsyncResult.cs
- PlanCompilerUtil.cs
- TextBlock.cs
- RelatedView.cs
- GenericTypeParameterBuilder.cs
- CalloutQueueItem.cs
- WorkflowPersistenceContext.cs
- PeerNameRegistration.cs
- ScopelessEnumAttribute.cs
- ListDictionaryInternal.cs
- WrappedReader.cs
- NamespaceDisplay.xaml.cs
- TcpStreams.cs
- coordinatorfactory.cs
- FixedBufferAttribute.cs
- HtmlInputFile.cs
- SpeakProgressEventArgs.cs
- TemplateControlBuildProvider.cs
- TypeElement.cs
- Dynamic.cs
- DataGridViewAccessibleObject.cs
- CodeCatchClauseCollection.cs
- MissingMethodException.cs
- XmlSchemaAnnotation.cs
- MonthCalendar.cs
- DataTableMappingCollection.cs
- TableRow.cs
- SystemWebCachingSectionGroup.cs
- CollectionEditorDialog.cs
- FloaterBaseParaClient.cs
- XmlSchemaImport.cs
- SourceLocation.cs
- ThrowHelper.cs
- METAHEADER.cs
- SystemDiagnosticsSection.cs
- PtsCache.cs
- Dump.cs
- CollectionEditVerbManager.cs
- EasingFunctionBase.cs
- NameNode.cs
- SurrogateEncoder.cs
- AnyReturnReader.cs
- SmtpException.cs
- EditorAttribute.cs
- Separator.cs
- ScrollPattern.cs
- UndoEngine.cs
- querybuilder.cs
- AnnotationResourceCollection.cs
- DiscoveryClientProtocol.cs
- Component.cs
- ContractSearchPattern.cs
- BitmapMetadataEnumerator.cs
- ToolboxBitmapAttribute.cs
- DrawingContextDrawingContextWalker.cs
- DataServiceQueryProvider.cs
- CodeDOMProvider.cs
- MapPathBasedVirtualPathProvider.cs
- Size3D.cs
- Variant.cs
- HttpResponse.cs
- keycontainerpermission.cs
- ConfigXmlCDataSection.cs
- MetadataResolver.cs
- ValueConversionAttribute.cs
- Cursor.cs
- SessionState.cs
- TextElementAutomationPeer.cs
- DateTimePicker.cs
- PrivilegeNotHeldException.cs
- AnnotationHighlightLayer.cs
- TrackingProvider.cs
- CommandHelper.cs
- StrongNameHelpers.cs
- Component.cs
- RenamedEventArgs.cs
- DataSourceHelper.cs
- AlignmentYValidation.cs
- CssClassPropertyAttribute.cs
- DBConcurrencyException.cs
- BindingSource.cs
- HtmlControlPersistable.cs
- SafeFindHandle.cs
- Stopwatch.cs
- AnimationLayer.cs
- PageHandlerFactory.cs
- ButtonBaseAutomationPeer.cs
- WindowsTokenRoleProvider.cs
- _HelperAsyncResults.cs
- TcpClientSocketManager.cs
- ControlPaint.cs
- CodeDomConfigurationHandler.cs
- MissingMethodException.cs
- WhitespaceRuleReader.cs
- InputLangChangeRequestEvent.cs
- StorageSetMapping.cs
- AmbientProperties.cs