Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / XPath / XPathException.cs / 1305376 / XPathException.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Xml.XPath { using System; using System.IO; using System.Resources; using System.Runtime.Serialization; using System.Diagnostics; using System.Security.Permissions; // Represents the exception that is thrown when there is error processing an // XPath expression. [Serializable] public class XPathException : SystemException { // we need to keep this members for V1 serialization compatibility string res; string[] args; // message != null for V1 & V2 exceptions deserialized in Whidbey // message == null for created V2 exceptions; the exception message is stored in Exception._message string message; protected XPathException(SerializationInfo info, StreamingContext context) : base(info, context) { res = (string ) info.GetValue("res" , typeof(string )); args = (string[]) info.GetValue("args", typeof(string[])); // deserialize optional members string version = null; foreach ( SerializationEntry e in info ) { if ( e.Name == "version" ) { version = (string)e.Value; } } if (version == null) { // deserializing V1 exception message = CreateMessage(res, args); } else { // deserializing V2 or higher exception -> exception message is serialized by the base class (Exception._message) message = null; } } [SecurityPermissionAttribute(SecurityAction.LinkDemand,SerializationFormatter=true)] public override void GetObjectData(SerializationInfo info, StreamingContext context) { base.GetObjectData(info, context); info.AddValue("res" , res ); info.AddValue("args", args); info.AddValue("version", "2.0"); } public XPathException() : this (string.Empty, (Exception) null) {} public XPathException(string message) : this (message, (Exception) null) {} public XPathException(string message, Exception innerException) : this(Res.Xml_UserException, new string[] { message }, innerException) { } internal static XPathException Create(string res) { return new XPathException(res, (string[])null); } internal static XPathException Create(string res, string arg) { return new XPathException(res, new string[] { arg }); } internal static XPathException Create(string res, string arg, string arg2) { return new XPathException(res, new string[] { arg, arg2 }); } internal static XPathException Create(string res, string arg, Exception innerException) { return new XPathException(res, new string[] { arg }, innerException); } private XPathException(string res, string[] args) : this(res, args, null) { } private XPathException(string res, string[] args, Exception inner) : base(CreateMessage(res, args), inner) { HResult = HResults.XmlXPath; this.res = res; this.args = args; } private static string CreateMessage(string res, string[] args) { try { string message = Res.GetString(res, args); if (message == null) message = "UNKNOWN("+res+")"; return message; } catch ( MissingManifestResourceException ) { return "UNKNOWN("+res+")"; } } public override string Message { get { return (message == null) ? base.Message : message; } } } } // 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
- StaticDataManager.cs
- DetailsViewRowCollection.cs
- PeerContact.cs
- SafePipeHandle.cs
- DataTablePropertyDescriptor.cs
- CrossAppDomainChannel.cs
- PerformanceCounter.cs
- SerialReceived.cs
- XmlSchemaObject.cs
- WebPartAddingEventArgs.cs
- IEnumerable.cs
- GlyphCache.cs
- XmlSchemaAppInfo.cs
- PathTooLongException.cs
- DataGridViewBindingCompleteEventArgs.cs
- AutoResetEvent.cs
- RowParagraph.cs
- XPathNodeIterator.cs
- DocumentPageView.cs
- ContainerUIElement3D.cs
- Interlocked.cs
- PersianCalendar.cs
- EventMetadata.cs
- WebCategoryAttribute.cs
- DataControlButton.cs
- BounceEase.cs
- CodeAttributeArgument.cs
- RadioButtonList.cs
- TimeoutStream.cs
- EditorPartChrome.cs
- ViewRendering.cs
- FontStyleConverter.cs
- XmlSchemaParticle.cs
- CollectionContainer.cs
- TreeNode.cs
- LogicalCallContext.cs
- EntitySetBaseCollection.cs
- DataSourceViewSchemaConverter.cs
- HtmlWindow.cs
- adornercollection.cs
- SystemIPGlobalStatistics.cs
- XmlAttributeProperties.cs
- DataGridSortCommandEventArgs.cs
- AttributeQuery.cs
- DesignerProperties.cs
- SHA1.cs
- TableLayoutColumnStyleCollection.cs
- EmptyReadOnlyDictionaryInternal.cs
- SrgsItemList.cs
- MenuCommandService.cs
- ToggleButtonAutomationPeer.cs
- Exceptions.cs
- QilFactory.cs
- DataServices.cs
- AnimationLayer.cs
- TaskDesigner.cs
- TraceInternal.cs
- HistoryEventArgs.cs
- WmlMobileTextWriter.cs
- GeneralTransformCollection.cs
- GeneralTransformCollection.cs
- SoapMessage.cs
- AppSettingsSection.cs
- UnionExpr.cs
- CardSpaceException.cs
- Int32Storage.cs
- HandlerBase.cs
- Rect3D.cs
- DataControlFieldCollection.cs
- ExeContext.cs
- BinaryConverter.cs
- CodeEntryPointMethod.cs
- ServiceModelActivationSectionGroup.cs
- UnsafeNativeMethods.cs
- HtmlFormParameterReader.cs
- RegisteredScript.cs
- PageCache.cs
- TypedTableBase.cs
- SoapSchemaMember.cs
- TargetInvocationException.cs
- WorkItem.cs
- GlyphingCache.cs
- DataErrorValidationRule.cs
- XmlSchemaNotation.cs
- TypeInfo.cs
- ValuePattern.cs
- DecoratedNameAttribute.cs
- EventLogEntryCollection.cs
- HitTestParameters.cs
- CngProvider.cs
- SmtpSection.cs
- ServiceOperationInvoker.cs
- MdiWindowListItemConverter.cs
- ListSortDescriptionCollection.cs
- RankException.cs
- _LocalDataStoreMgr.cs
- ToolStripOverflow.cs
- SettingsPropertyWrongTypeException.cs
- BinaryUtilClasses.cs
- NumberSubstitution.cs