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
- StylusPointDescription.cs
- KerberosRequestorSecurityTokenAuthenticator.cs
- DataFieldConverter.cs
- TrackingLocationCollection.cs
- EmptyStringExpandableObjectConverter.cs
- XmlNodeReader.cs
- RuntimeHelpers.cs
- HandledMouseEvent.cs
- CodeSnippetTypeMember.cs
- ListBox.cs
- CustomErrorCollection.cs
- ExpressionNormalizer.cs
- hresults.cs
- RevocationPoint.cs
- Configuration.cs
- XmlFormatWriterGenerator.cs
- SmtpNtlmAuthenticationModule.cs
- InvalidBodyAccessException.cs
- SiteMapHierarchicalDataSourceView.cs
- TextHidden.cs
- DataGridViewColumnConverter.cs
- BamlTreeMap.cs
- DataServiceQuery.cs
- FormViewPagerRow.cs
- TemplateField.cs
- TriState.cs
- SafeLocalMemHandle.cs
- TypeElement.cs
- TypeCacheManager.cs
- FlowDocumentPageViewerAutomationPeer.cs
- COM2EnumConverter.cs
- DataGridViewUtilities.cs
- SemanticResultValue.cs
- OpenFileDialog.cs
- PerformanceCounterPermissionAttribute.cs
- Axis.cs
- PropertyGridCommands.cs
- StateManagedCollection.cs
- WebScriptServiceHost.cs
- DesignerAttributeInfo.cs
- SubclassTypeValidator.cs
- DataTableClearEvent.cs
- AQNBuilder.cs
- RenderDataDrawingContext.cs
- DateTimeOffsetAdapter.cs
- IDictionary.cs
- PartitionResolver.cs
- DataGridViewElement.cs
- cookie.cs
- HWStack.cs
- SoapMessage.cs
- autovalidator.cs
- Validator.cs
- ProcessModuleCollection.cs
- DataSourceControl.cs
- HttpModulesSection.cs
- EdgeProfileValidation.cs
- ConnectionManagementElement.cs
- TemplateControlBuildProvider.cs
- HtmlFormWrapper.cs
- NetSectionGroup.cs
- DataGridViewComboBoxCell.cs
- SmiRecordBuffer.cs
- Rotation3DKeyFrameCollection.cs
- HasRunnableWorkflowEvent.cs
- GeometryDrawing.cs
- FontWeight.cs
- XmlDataSourceView.cs
- StorageConditionPropertyMapping.cs
- SQLResource.cs
- HwndSubclass.cs
- SmtpNtlmAuthenticationModule.cs
- MetadataExchangeClient.cs
- Imaging.cs
- QuaternionAnimationBase.cs
- ResourceDisplayNameAttribute.cs
- RoleGroupCollection.cs
- WebPartZone.cs
- DisplayInformation.cs
- NetCodeGroup.cs
- ObjectStateManagerMetadata.cs
- RegistryConfigurationProvider.cs
- OleDbPropertySetGuid.cs
- ConfigurationPermission.cs
- EditingMode.cs
- MonthCalendarDesigner.cs
- Int32RectConverter.cs
- SqlGenerator.cs
- BinaryObjectWriter.cs
- XmlSerializerAssemblyAttribute.cs
- ActiveXHost.cs
- SecurityRuntime.cs
- NativeActivityContext.cs
- ContentType.cs
- ConfigXmlSignificantWhitespace.cs
- TextEvent.cs
- MiniConstructorInfo.cs
- SiteMembershipCondition.cs
- SqlTransaction.cs
- basecomparevalidator.cs