Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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. // //[....] //----------------------------------------------------------------------------- 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ValidationHelpers.cs
- DocumentSchemaValidator.cs
- ResourceLoader.cs
- SqlDataSourceView.cs
- XmlEncodedRawTextWriter.cs
- ServicePrincipalNameElement.cs
- XmlILTrace.cs
- LockedBorderGlyph.cs
- ExpressionPrefixAttribute.cs
- SQLString.cs
- ExtensionWindowResizeGrip.cs
- ArrayList.cs
- XmlEnumAttribute.cs
- RequestTimeoutManager.cs
- VScrollProperties.cs
- BitVector32.cs
- TemplatePropertyEntry.cs
- WebHttpSecurity.cs
- DbProviderFactory.cs
- ElementsClipboardData.cs
- WindowInteropHelper.cs
- DataTableCollection.cs
- TrackBar.cs
- PeekCompletedEventArgs.cs
- TripleDESCryptoServiceProvider.cs
- QueryInterceptorAttribute.cs
- XmlSchemaAttributeGroup.cs
- AttributeCollection.cs
- SQLGuid.cs
- LineServicesRun.cs
- SecurityChannelListener.cs
- CodeLinePragma.cs
- ComponentDesigner.cs
- SqlDataSourceRefreshSchemaForm.cs
- XmlSchemaSimpleContentExtension.cs
- ContextProperty.cs
- HttpAsyncResult.cs
- GridViewSelectEventArgs.cs
- SettingsProviderCollection.cs
- clipboard.cs
- SmtpFailedRecipientException.cs
- RequiredAttributeAttribute.cs
- TimelineClockCollection.cs
- XmlSchemaComplexContent.cs
- DesignerSerializerAttribute.cs
- ApplicationId.cs
- PropertyChangedEventArgs.cs
- DoubleAverageAggregationOperator.cs
- DesignerLoader.cs
- ThreadExceptionDialog.cs
- MutexSecurity.cs
- CustomPopupPlacement.cs
- OdbcConnectionPoolProviderInfo.cs
- ChoiceConverter.cs
- GenericTextProperties.cs
- DetailsViewPagerRow.cs
- Logging.cs
- FileChangesMonitor.cs
- ToolStripSeparator.cs
- ExtensionMethods.cs
- DispatcherHooks.cs
- GridItemProviderWrapper.cs
- SubclassTypeValidator.cs
- EdmType.cs
- ApplicationDirectoryMembershipCondition.cs
- CounterSampleCalculator.cs
- ZoneMembershipCondition.cs
- CultureInfoConverter.cs
- EndpointInstanceProvider.cs
- StatusBarDrawItemEvent.cs
- InvalidDocumentContentsException.cs
- ToolBar.cs
- oledbmetadatacollectionnames.cs
- ScalarOps.cs
- InfiniteTimeSpanConverter.cs
- TextProviderWrapper.cs
- TimerEventSubscriptionCollection.cs
- SqlDataSource.cs
- CheckBoxPopupAdapter.cs
- MessageSmuggler.cs
- PageSettings.cs
- SqlUDTStorage.cs
- FileDataSourceCache.cs
- DesigntimeLicenseContext.cs
- SmiGettersStream.cs
- ScriptBehaviorDescriptor.cs
- GridViewColumnCollectionChangedEventArgs.cs
- ToolbarAUtomationPeer.cs
- EntityDataSourceChangedEventArgs.cs
- Camera.cs
- StretchValidation.cs
- SrgsGrammar.cs
- TextRange.cs
- VSWCFServiceContractGenerator.cs
- DEREncoding.cs
- Int32CAMarshaler.cs
- BitConverter.cs
- Bezier.cs
- ToolbarAUtomationPeer.cs
- UseAttributeSetsAction.cs