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
- HttpRequestTraceRecord.cs
- LineSegment.cs
- InstalledFontCollection.cs
- ToolStripItemBehavior.cs
- RawStylusInputCustomData.cs
- HostingEnvironment.cs
- Constant.cs
- RootBuilder.cs
- RichListBox.cs
- ReadOnlyHierarchicalDataSourceView.cs
- DoubleLinkListEnumerator.cs
- SendMailErrorEventArgs.cs
- EraserBehavior.cs
- DesignerCalendarAdapter.cs
- SessionState.cs
- SqlHelper.cs
- GridViewPageEventArgs.cs
- ElementFactory.cs
- ImageMap.cs
- StylusButtonCollection.cs
- CalendarDateRange.cs
- FullTextBreakpoint.cs
- HttpConfigurationContext.cs
- _PooledStream.cs
- DiagnosticEventProvider.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs
- EntityDataSourceContextCreatingEventArgs.cs
- PrinterUnitConvert.cs
- CellTreeNodeVisitors.cs
- RequestNavigateEventArgs.cs
- MembershipValidatePasswordEventArgs.cs
- BrowserDefinitionCollection.cs
- AnonymousIdentificationModule.cs
- WebPartManager.cs
- DBSqlParserColumnCollection.cs
- QueryCacheKey.cs
- Timer.cs
- DataGridItemCollection.cs
- MarshalByRefObject.cs
- Rect3D.cs
- DataSourceHelper.cs
- LookupNode.cs
- SpellerError.cs
- CalendarDateRangeChangingEventArgs.cs
- NumberFormatter.cs
- Schema.cs
- SqlHelper.cs
- BindingElementExtensionElement.cs
- CheckoutException.cs
- ComponentEvent.cs
- WebPartUserCapability.cs
- StandardTransformFactory.cs
- DBBindings.cs
- RectConverter.cs
- ControlIdConverter.cs
- SystemKeyConverter.cs
- InternalControlCollection.cs
- EntityDataSourceReferenceGroup.cs
- LockCookie.cs
- ToolStripManager.cs
- ToolStripDropTargetManager.cs
- ArraySubsetEnumerator.cs
- TCEAdapterGenerator.cs
- FontFaceLayoutInfo.cs
- CombinedGeometry.cs
- XsdCachingReader.cs
- NameNode.cs
- PtsPage.cs
- DataObjectFieldAttribute.cs
- CanonicalXml.cs
- PolicyManager.cs
- WebFormsRootDesigner.cs
- UndoEngine.cs
- MatrixKeyFrameCollection.cs
- DataColumn.cs
- ReferenceService.cs
- ImageClickEventArgs.cs
- _DisconnectOverlappedAsyncResult.cs
- XmlNodeChangedEventArgs.cs
- ObjectDataSourceSelectingEventArgs.cs
- HtmlTable.cs
- odbcmetadatafactory.cs
- Action.cs
- TextureBrush.cs
- SHA512Managed.cs
- SvcMapFileLoader.cs
- MasterPageCodeDomTreeGenerator.cs
- DataGridViewRow.cs
- Models.cs
- EntityKey.cs
- NativeCppClassAttribute.cs
- Visual.cs
- ObjectParameter.cs
- FillRuleValidation.cs
- RegistrationServices.cs
- ReceiveCompletedEventArgs.cs
- LineUtil.cs
- contentDescriptor.cs
- ProxyElement.cs
- MetadataCacheItem.cs