C# 如何捕获从第三方库抛出的XmlException?
我正在使用ExchangeWeb服务管理的API,它大约每天抛出一次C# 如何捕获从第三方库抛出的XmlException?,c#,exception,exchangewebservices,C#,Exception,Exchangewebservices,我正在使用ExchangeWeb服务管理的API,它大约每天抛出一次XmlException,我不知道如何捕获它。以下是例外情况的详细信息 System.Xml.XmlException was unhandled Message="'', hexadecimal value 0x1F, is an invalid character. Line 1, position 1." Source="System.Xml" LineNumber=1 LinePosition=1 S
XmlException
,我不知道如何捕获它。以下是例外情况的详细信息
System.Xml.XmlException was unhandled
Message="'', hexadecimal value 0x1F, is an invalid character. Line 1, position 1."
Source="System.Xml"
LineNumber=1
LinePosition=1
SourceUri=""
StackTrace:
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args)
at System.Xml.XmlTextReaderImpl.Throw(Int32 pos, String res, String[] args)
at System.Xml.XmlTextReaderImpl.ThrowInvalidChar(Int32 pos, Char invChar)
at System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& endPos, Int32& outOrChars)
at System.Xml.XmlTextReaderImpl.ParseText()
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at System.Xml.XmlTextReaderImpl.Read()
at Microsoft.Exchange.WebServices.Data.EwsXmlReader.Read()
at Microsoft.Exchange.WebServices.Data.EwsXmlReader.Read(XmlNodeType nodeType)
at Microsoft.Exchange.WebServices.Data.EwsXmlReader.InternalReadElement(XmlNamespace xmlNamespace, String localName, XmlNodeType nodeType)
at Microsoft.Exchange.WebServices.Data.EwsXmlReader.ReadStartElement(XmlNamespace xmlNamespace, String localName)
at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.ReadResponse(EwsServiceXmlReader ewsXmlReader)
at Microsoft.Exchange.WebServices.Data.HangingServiceRequestBase.ParseResponses(Object state)
at System.Threading._ThreadPoolWaitCallback.WaitCallback_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)
InnerException:
从stacktrace中,我看不到任何能让我抓住并解决问题的东西
如何捕获此字符?您的XML库不支持
0x1F
字符,即单位分隔符字符
您可以做的是在XML库处理流/XML文件/whatever/之前,转义此特定字符的所有出现。
看
请参阅。您发送的xml是什么样子的?是要捕获该特定异常,还是在捕获该异常时要纠正该问题,还是需要一些解决方法以避免异常发生?@mikecorran:我不发送xml。XML是由Exchange返回的。@SivaGopal:是的,我希望捕获那个特定的异常,因为XML是由我们的Exchange服务器返回的,我无法控制它。应该可以帮你解决这个错误:)我很抱歉说得不太清楚。该问题是由EWS库解析Exchange返回的XML而未对其进行清理造成的。因为所有这些都是在图书馆里完成的,我不知道如何捕捉它。