Code:
/ FX-1434 / FX-1434 / 1.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
- SQLDoubleStorage.cs
- DataGridViewColumnConverter.cs
- WinEventQueueItem.cs
- RightsManagementSuppressedStream.cs
- StickyNoteHelper.cs
- StreamUpdate.cs
- ToolStripSeparator.cs
- HttpListenerElement.cs
- SqlCrossApplyToCrossJoin.cs
- EndPoint.cs
- Section.cs
- DesignerActionGlyph.cs
- CodeEventReferenceExpression.cs
- SmtpNegotiateAuthenticationModule.cs
- XmlSchemaAny.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- DataGridState.cs
- EventHandlersDesigner.cs
- ParallelEnumerableWrapper.cs
- TypeToken.cs
- NamespaceListProperty.cs
- Debugger.cs
- CalloutQueueItem.cs
- KeySplineConverter.cs
- EventToken.cs
- XmlSchemaComplexType.cs
- COM2Enum.cs
- ActivityInstanceReference.cs
- PerfCounters.cs
- DataPagerFieldCommandEventArgs.cs
- SchemaNames.cs
- TextContainerChangeEventArgs.cs
- PointAnimationBase.cs
- PopOutPanel.cs
- AssociationTypeEmitter.cs
- EntityViewGenerationAttribute.cs
- SerializationInfoEnumerator.cs
- TextOutput.cs
- AssemblyAttributes.cs
- SqlPersistenceProviderFactory.cs
- ReadOnlyCollectionBase.cs
- bindurihelper.cs
- SoapFaultCodes.cs
- WebPartZone.cs
- XPathEmptyIterator.cs
- ByteFacetDescriptionElement.cs
- MenuEventArgs.cs
- SettingsPropertyIsReadOnlyException.cs
- DefaultValueAttribute.cs
- BrushValueSerializer.cs
- CommonDialog.cs
- EncoderFallback.cs
- TdsParserStaticMethods.cs
- RIPEMD160Managed.cs
- TreeBuilderBamlTranslator.cs
- ConfigurationLocation.cs
- SqlDataRecord.cs
- SQLDecimal.cs
- Set.cs
- DesignerHelpers.cs
- DBSchemaTable.cs
- ResourceContainer.cs
- WindowsSlider.cs
- QilReference.cs
- XPathExpr.cs
- VoiceObjectToken.cs
- ListViewItemSelectionChangedEvent.cs
- HttpCapabilitiesEvaluator.cs
- designeractionbehavior.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- Header.cs
- XsltCompileContext.cs
- OrCondition.cs
- AssemblyAttributes.cs
- UIPropertyMetadata.cs
- ExtensionsSection.cs
- DataServiceExpressionVisitor.cs
- SoapExtensionReflector.cs
- CompModHelpers.cs
- XmlQueryOutput.cs
- AppLevelCompilationSectionCache.cs
- GridViewUpdateEventArgs.cs
- BindingRestrictions.cs
- LinearQuaternionKeyFrame.cs
- DataSourceExpressionCollection.cs
- BasePattern.cs
- ToRequest.cs
- SqlUdtInfo.cs
- PixelFormats.cs
- PropertyMappingExceptionEventArgs.cs
- TextElementAutomationPeer.cs
- ComponentDispatcher.cs
- StreamWriter.cs
- HttpException.cs
- ColorPalette.cs
- WebEvents.cs
- NamespaceInfo.cs
- ItemDragEvent.cs
- URI.cs
- ErrorHandlerModule.cs