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
- SystemIPv6InterfaceProperties.cs
- LoginCancelEventArgs.cs
- IsolatedStorageFilePermission.cs
- FlowPanelDesigner.cs
- VersionConverter.cs
- HandleRef.cs
- MailWriter.cs
- TokenBasedSetEnumerator.cs
- TargetException.cs
- AutomationPropertyInfo.cs
- FixedFindEngine.cs
- UmAlQuraCalendar.cs
- SafeNativeMethods.cs
- Listbox.cs
- ErrorWrapper.cs
- ResourceWriter.cs
- ExceptionList.cs
- LazyTextWriterCreator.cs
- ISAPIRuntime.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- PointAnimationBase.cs
- ZipIOCentralDirectoryFileHeader.cs
- XmlSerializableReader.cs
- sqlinternaltransaction.cs
- SHA512.cs
- XComponentModel.cs
- PixelShader.cs
- SafeNativeMethods.cs
- TypeTypeConverter.cs
- AudioFormatConverter.cs
- SharedStatics.cs
- SizeFConverter.cs
- ConnectivityStatus.cs
- LineMetrics.cs
- ValueChangedEventManager.cs
- HeaderCollection.cs
- TakeQueryOptionExpression.cs
- Suspend.cs
- GenericEnumerator.cs
- DynamicFilter.cs
- SchemaMapping.cs
- AsyncDataRequest.cs
- SHA256.cs
- DateTimeAutomationPeer.cs
- ValidatedControlConverter.cs
- BinaryParser.cs
- TraceContextRecord.cs
- ForEachAction.cs
- TrimSurroundingWhitespaceAttribute.cs
- PackagingUtilities.cs
- RightNameExpirationInfoPair.cs
- CompoundFileDeflateTransform.cs
- Listbox.cs
- Mappings.cs
- IOThreadScheduler.cs
- Int64KeyFrameCollection.cs
- WriteStateInfoBase.cs
- SoapIncludeAttribute.cs
- MonitorWrapper.cs
- SchemaType.cs
- SafeLocalAllocation.cs
- WebPartHelpVerb.cs
- AngleUtil.cs
- ToolStripPanelCell.cs
- MergablePropertyAttribute.cs
- DataContractAttribute.cs
- ToolStripSeparatorRenderEventArgs.cs
- ToolStripSystemRenderer.cs
- PanelStyle.cs
- UnsafeNativeMethods.cs
- WebRequest.cs
- ListenerElementsCollection.cs
- ProfileSection.cs
- FixedSOMTextRun.cs
- _ListenerAsyncResult.cs
- SmtpTransport.cs
- ListViewHitTestInfo.cs
- RubberbandSelector.cs
- WebPartChrome.cs
- BindingCollection.cs
- QueryCoreOp.cs
- CSharpCodeProvider.cs
- StrongNameKeyPair.cs
- WebPartCloseVerb.cs
- GridProviderWrapper.cs
- QueryHandler.cs
- HttpCookiesSection.cs
- FieldDescriptor.cs
- PartialTrustVisibleAssembly.cs
- DataServiceRequestOfT.cs
- FigureHelper.cs
- LayoutManager.cs
- IsolatedStorageException.cs
- ReferenceService.cs
- ControlsConfig.cs
- DataGridViewControlCollection.cs
- PeerChannelListener.cs
- DataException.cs
- _DisconnectOverlappedAsyncResult.cs
- FormatVersion.cs