Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / Xml / System / Xml / XPath / XPathException.cs / 2 / 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
- ChannelManagerBase.cs
- _AcceptOverlappedAsyncResult.cs
- DataGridViewCellParsingEventArgs.cs
- PowerStatus.cs
- SecurityKeyIdentifier.cs
- LoadGrammarCompletedEventArgs.cs
- PropertyInfoSet.cs
- PenThread.cs
- ConfigurationCollectionAttribute.cs
- TextDecoration.cs
- MdiWindowListItemConverter.cs
- PreloadedPackages.cs
- ShaderEffect.cs
- XmlEncodedRawTextWriter.cs
- MsmqIntegrationBindingElement.cs
- ActiveDesignSurfaceEvent.cs
- ToolStripDropTargetManager.cs
- TTSEngineProxy.cs
- KnownBoxes.cs
- AutomationPatternInfo.cs
- XmlSchemaObjectCollection.cs
- EditCommandColumn.cs
- SystemFonts.cs
- RegexGroup.cs
- PermissionRequestEvidence.cs
- SQLConvert.cs
- ColorConvertedBitmapExtension.cs
- DataView.cs
- odbcmetadatafactory.cs
- LambdaCompiler.Unary.cs
- Label.cs
- Attributes.cs
- Configuration.cs
- XmlCharacterData.cs
- ThumbAutomationPeer.cs
- StrokeCollectionConverter.cs
- Rotation3DAnimation.cs
- RepeatBehavior.cs
- DispatcherObject.cs
- FormsAuthenticationEventArgs.cs
- SqlError.cs
- CodeDOMProvider.cs
- HttpCacheVary.cs
- DesignerSerializationVisibilityAttribute.cs
- BaseTreeIterator.cs
- MetadataArtifactLoader.cs
- StreamMarshaler.cs
- PolyLineSegmentFigureLogic.cs
- FormatterServices.cs
- XmlException.cs
- HttpCookie.cs
- TableRowCollection.cs
- BaseEntityWrapper.cs
- OciHandle.cs
- ServiceRouteHandler.cs
- DbProviderSpecificTypePropertyAttribute.cs
- BulletChrome.cs
- TriggerBase.cs
- SQLInt16Storage.cs
- CompensationDesigner.cs
- ConvertersCollection.cs
- FormParameter.cs
- RegistrySecurity.cs
- WebPartDisplayModeCollection.cs
- CaretElement.cs
- PerformanceCounters.cs
- WorkflowApplicationAbortedEventArgs.cs
- AutomationProperty.cs
- ScriptReferenceEventArgs.cs
- XmlElementAttributes.cs
- storepermission.cs
- NullableIntSumAggregationOperator.cs
- WorkflowTransactionOptions.cs
- State.cs
- StorageMappingItemLoader.cs
- TextSelectionProcessor.cs
- WindowsTitleBar.cs
- BypassElement.cs
- DataBoundControlAdapter.cs
- ApplicationSettingsBase.cs
- ProfilePropertySettings.cs
- WMICapabilities.cs
- _Rfc2616CacheValidators.cs
- SettingsPropertyCollection.cs
- Repeater.cs
- __Error.cs
- TokenCreationException.cs
- MessagePropertyVariants.cs
- AutomationIdentifier.cs
- FontWeight.cs
- ModuleBuilder.cs
- UriScheme.cs
- CodeValidator.cs
- PathFigure.cs
- SurrogateDataContract.cs
- XmlSchemaRedefine.cs
- StoreConnection.cs
- URLMembershipCondition.cs
- HierarchicalDataSourceControl.cs
- RtType.cs