Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Xml / System / Xml / XPath / XPathException.cs / 1 / 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.Demand,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. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlAttribute.cs
- ToolStripItemCollection.cs
- UIElementParagraph.cs
- QilCloneVisitor.cs
- CqlErrorHelper.cs
- InstanceOwnerQueryResult.cs
- HwndSubclass.cs
- WebPartHelpVerb.cs
- StylusCaptureWithinProperty.cs
- RadioButtonAutomationPeer.cs
- ValueQuery.cs
- OperationCanceledException.cs
- ProcessModule.cs
- Evidence.cs
- Int16Storage.cs
- UserPrincipalNameElement.cs
- HelpProvider.cs
- _ListenerAsyncResult.cs
- BoundPropertyEntry.cs
- _KerberosClient.cs
- SHA256Managed.cs
- ValidatorCollection.cs
- ArgumentFixer.cs
- oledbmetadatacollectionnames.cs
- RoutedEventArgs.cs
- SystemThemeKey.cs
- OdbcFactory.cs
- FixedSOMTableRow.cs
- SaveRecipientRequest.cs
- XD.cs
- ObjectHandle.cs
- QueryRewriter.cs
- BorderGapMaskConverter.cs
- XDRSchema.cs
- StylusPointPropertyId.cs
- ResetableIterator.cs
- ToolTip.cs
- DragStartedEventArgs.cs
- TextFormatterHost.cs
- MultipleFilterMatchesException.cs
- Point3DCollectionValueSerializer.cs
- EraserBehavior.cs
- PageCatalogPart.cs
- Graph.cs
- DataObjectMethodAttribute.cs
- TargetConverter.cs
- WmlTextViewAdapter.cs
- ThreadExceptionDialog.cs
- TextSpanModifier.cs
- NotSupportedException.cs
- PagedDataSource.cs
- MimePart.cs
- TransactionChannelListener.cs
- TiffBitmapDecoder.cs
- GridViewRowPresenter.cs
- IChannel.cs
- InstanceLockLostException.cs
- DefaultPropertyAttribute.cs
- StubHelpers.cs
- AlphaSortedEnumConverter.cs
- PrimitiveSchema.cs
- XsltCompileContext.cs
- HtmlInputFile.cs
- InProcStateClientManager.cs
- XmlElementAttribute.cs
- TcpHostedTransportConfiguration.cs
- CryptoKeySecurity.cs
- XmlSchemaObject.cs
- Logging.cs
- XComponentModel.cs
- Base64Stream.cs
- RegistrySecurity.cs
- SynchronizingStream.cs
- ClientSettingsStore.cs
- SoapEnumAttribute.cs
- MsmqPoisonMessageException.cs
- SpecialTypeDataContract.cs
- OperationAbortedException.cs
- MsmqMessageProperty.cs
- nulltextnavigator.cs
- RegistrationContext.cs
- JoinSymbol.cs
- StorageEntityTypeMapping.cs
- HtmlEmptyTagControlBuilder.cs
- VirtualPath.cs
- ProviderSettings.cs
- UrlAuthorizationModule.cs
- localization.cs
- ThreadStaticAttribute.cs
- TransportContext.cs
- UserNameSecurityToken.cs
- SubstitutionResponseElement.cs
- SignedInfo.cs
- _ConnectionGroup.cs
- Identity.cs
- RequestTimeoutManager.cs
- LoggedException.cs
- ToolBarPanel.cs
- GlyphShapingProperties.cs
- SecurityContextKeyIdentifierClause.cs