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
- Int64Animation.cs
- ComPlusSynchronizationContext.cs
- TraceRecord.cs
- SafeProcessHandle.cs
- TypeUtils.cs
- AssemblyHash.cs
- DummyDataSource.cs
- PropertyMetadata.cs
- HttpProcessUtility.cs
- UrlUtility.cs
- HtmlLabelAdapter.cs
- FormViewDesigner.cs
- XmlSchemaAttribute.cs
- AssemblyNameProxy.cs
- ChooseAction.cs
- DocumentViewerHelper.cs
- XmlSchemaAnyAttribute.cs
- Sentence.cs
- ScriptRef.cs
- HtmlFormWrapper.cs
- NamespaceInfo.cs
- SafeCertificateContext.cs
- ConfigXmlSignificantWhitespace.cs
- XpsSerializerWriter.cs
- ServiceThrottlingBehavior.cs
- ResourceDisplayNameAttribute.cs
- SettingsAttributeDictionary.cs
- SqlDataSourceEnumerator.cs
- ActiveXContainer.cs
- ColorInterpolationModeValidation.cs
- ApplicationProxyInternal.cs
- UnsupportedPolicyOptionsException.cs
- ToolboxItemFilterAttribute.cs
- TemplatedControlDesigner.cs
- ValidatingPropertiesEventArgs.cs
- OleDbMetaDataFactory.cs
- MultiAsyncResult.cs
- WebPartAddingEventArgs.cs
- QilLiteral.cs
- ScriptIgnoreAttribute.cs
- EditorZoneBase.cs
- RadioButtonFlatAdapter.cs
- GetImportedCardRequest.cs
- EditBehavior.cs
- PrintingPermission.cs
- ModuleBuilderData.cs
- LabelAutomationPeer.cs
- BoundField.cs
- _CookieModule.cs
- RemoteWebConfigurationHostStream.cs
- SkinBuilder.cs
- FacetValues.cs
- DesigntimeLicenseContextSerializer.cs
- BatchParser.cs
- InvokeDelegate.cs
- ProfilePropertyMetadata.cs
- SHA256Managed.cs
- ValidationSummary.cs
- Point4DConverter.cs
- BulletedList.cs
- URI.cs
- EntityDataSourceContextCreatingEventArgs.cs
- QilTernary.cs
- TableLayoutPanelCodeDomSerializer.cs
- XmlCharType.cs
- MetadataItemSerializer.cs
- HashHelper.cs
- XmlEncoding.cs
- StateInitializationDesigner.cs
- XmlWhitespace.cs
- SelectiveScrollingGrid.cs
- XmlSerializerFactory.cs
- Geometry.cs
- Button.cs
- CacheHelper.cs
- TrackPoint.cs
- AcceptorSessionSymmetricTransportSecurityProtocol.cs
- IODescriptionAttribute.cs
- LogicalTreeHelper.cs
- RenderDataDrawingContext.cs
- PreviewKeyDownEventArgs.cs
- TableLayoutStyle.cs
- FileUpload.cs
- PolicyManager.cs
- AssemblyBuilder.cs
- BitmapEffectState.cs
- COM2TypeInfoProcessor.cs
- StringDictionaryWithComparer.cs
- BookmarkScopeHandle.cs
- ClientFormsIdentity.cs
- TextPenaltyModule.cs
- StyleSelector.cs
- PropertyConverter.cs
- HttpApplication.cs
- ServicePoint.cs
- WindowsPrincipal.cs
- MachineKeySection.cs
- invalidudtexception.cs
- GrammarBuilderRuleRef.cs
- MethodBody.cs