Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ObjectSet.cs
- WhereQueryOperator.cs
- FileRecordSequence.cs
- DeleteMemberBinder.cs
- XNodeSchemaApplier.cs
- Point3DCollection.cs
- User.cs
- CurrencyWrapper.cs
- Function.cs
- CompiledELinqQueryState.cs
- ObjRef.cs
- XmlAnyAttributeAttribute.cs
- VisualStyleRenderer.cs
- WrapPanel.cs
- ADMembershipUser.cs
- BaseTreeIterator.cs
- SharedStatics.cs
- arabicshape.cs
- LayoutEvent.cs
- PriorityBindingExpression.cs
- MarshalDirectiveException.cs
- CutCopyPasteHelper.cs
- MetadataItemSerializer.cs
- ConnectionInterfaceCollection.cs
- CollectionBase.cs
- QilParameter.cs
- HMACSHA1.cs
- WebRequestModulesSection.cs
- ResourcePool.cs
- OciEnlistContext.cs
- NamedPipeAppDomainProtocolHandler.cs
- Page.cs
- DataSet.cs
- WebBrowserBase.cs
- TextAutomationPeer.cs
- TemplateField.cs
- MdiWindowListItemConverter.cs
- Propagator.Evaluator.cs
- MouseCaptureWithinProperty.cs
- COM2Properties.cs
- QueryOptionExpression.cs
- PointHitTestParameters.cs
- ObjectCloneHelper.cs
- TriggerCollection.cs
- HtmlLink.cs
- RequestStatusBarUpdateEventArgs.cs
- PrintPreviewGraphics.cs
- DependencyObject.cs
- XamlPoint3DCollectionSerializer.cs
- PropertyItemInternal.cs
- SettingsBindableAttribute.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- WebPartChrome.cs
- Compiler.cs
- SessionStateContainer.cs
- WebHeaderCollection.cs
- GrammarBuilderPhrase.cs
- DiagnosticTraceSource.cs
- SvcMapFile.cs
- HttpConfigurationSystem.cs
- ObjectSet.cs
- ReadOnlyHierarchicalDataSourceView.cs
- SerializationFieldInfo.cs
- StrokeNodeOperations.cs
- WorkflowLayouts.cs
- NetCodeGroup.cs
- _CookieModule.cs
- WorkerRequest.cs
- TypedReference.cs
- SettingsAttributeDictionary.cs
- SQLInt16.cs
- TraceContextRecord.cs
- XmlWrappingReader.cs
- SqlInfoMessageEvent.cs
- SafeRightsManagementQueryHandle.cs
- TypedElement.cs
- DynamicUpdateCommand.cs
- GenerateScriptTypeAttribute.cs
- TypeConverterHelper.cs
- NavigationWindow.cs
- ETagAttribute.cs
- PageClientProxyGenerator.cs
- WindowHelperService.cs
- LinearKeyFrames.cs
- TypedElement.cs
- IResourceProvider.cs
- SmiEventStream.cs
- ObjectItemCollection.cs
- AnonymousIdentificationSection.cs
- ProcessHostConfigUtils.cs
- TableRow.cs
- PLINQETWProvider.cs
- CodeDomConfigurationHandler.cs
- TypeCollectionDesigner.xaml.cs
- WebPartConnectionsConnectVerb.cs
- GAC.cs
- DataGridViewTextBoxColumn.cs
- WebEventCodes.cs
- TagMapCollection.cs
- DynamicDataManager.cs