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
- DataGridLinkButton.cs
- ComponentEditorForm.cs
- OperatingSystemVersionCheck.cs
- XmlSignificantWhitespace.cs
- CompiledQueryCacheKey.cs
- SamlSecurityTokenAuthenticator.cs
- AssertHelper.cs
- ChtmlPhoneCallAdapter.cs
- SchemaCompiler.cs
- ApplicationGesture.cs
- Char.cs
- ReferencedType.cs
- StatusBarItemAutomationPeer.cs
- DrawingGroupDrawingContext.cs
- URL.cs
- GenericAuthenticationEventArgs.cs
- DataGridViewControlCollection.cs
- GeometryHitTestResult.cs
- DiscoveryEndpointElement.cs
- KeySplineConverter.cs
- LinkDescriptor.cs
- NamedElement.cs
- ExeContext.cs
- Screen.cs
- TableRowCollection.cs
- HtmlImageAdapter.cs
- DiffuseMaterial.cs
- Timer.cs
- StructuralCache.cs
- IndexedString.cs
- RequestBringIntoViewEventArgs.cs
- ReferentialConstraint.cs
- ResXResourceReader.cs
- Int32KeyFrameCollection.cs
- CaseDesigner.xaml.cs
- NamespaceEmitter.cs
- Rect3D.cs
- mactripleDES.cs
- CommonGetThemePartSize.cs
- EntityProviderFactory.cs
- BackgroundWorker.cs
- DoubleCollectionConverter.cs
- FlowDocumentFormatter.cs
- DBConcurrencyException.cs
- TextLineBreak.cs
- RectangleGeometry.cs
- ComplexObject.cs
- NextPreviousPagerField.cs
- BrushConverter.cs
- SqlRecordBuffer.cs
- ObjectView.cs
- PopupRootAutomationPeer.cs
- util.cs
- OrthographicCamera.cs
- ScaleTransform3D.cs
- AmbientValueAttribute.cs
- HyperlinkAutomationPeer.cs
- MenuAutomationPeer.cs
- ProjectionAnalyzer.cs
- ProxyElement.cs
- AutomationPatternInfo.cs
- SystemInfo.cs
- PasswordBox.cs
- BasicExpandProvider.cs
- XmlEntityReference.cs
- ToolStripOverflow.cs
- WebPartMenu.cs
- GridProviderWrapper.cs
- QilXmlReader.cs
- InternalCache.cs
- SmtpLoginAuthenticationModule.cs
- DeclarativeCatalogPart.cs
- ToolStripPanelRenderEventArgs.cs
- DataColumnChangeEvent.cs
- TrustSection.cs
- ColumnBinding.cs
- XmlSchemaInclude.cs
- XamlVector3DCollectionSerializer.cs
- SQLConvert.cs
- DataGridViewRowPostPaintEventArgs.cs
- UnsafeNativeMethodsPenimc.cs
- HtmlGenericControl.cs
- WebPartDisplayMode.cs
- UshortList2.cs
- CachingHintValidation.cs
- PersonalizationEntry.cs
- AttachedAnnotation.cs
- COM2ExtendedBrowsingHandler.cs
- ChildChangedEventArgs.cs
- ListViewDeletedEventArgs.cs
- Propagator.JoinPropagator.cs
- TouchFrameEventArgs.cs
- GenericWebPart.cs
- OutputCacheProfile.cs
- FamilyCollection.cs
- WorkflowDefinitionDispenser.cs
- BrowserTree.cs
- bindurihelper.cs
- DependencyObject.cs
- EnumBuilder.cs