Использование свойства Detail для обработки определенных ошибок
В ходе дальнейшей классификации исключений службы Службы Reporting Services возвращают дополнительные сведения об ошибках в свойстве InnerText дочерних элементов свойства Detail исключения SOAP. Поскольку свойство Detail является объектом XmlNode, с помощью приведенного ниже кода можно обращаться к внутреннему тексту дочернего элемента Message.
Список всех доступных дочерних элементов в свойстве Detail см. в разделе Свойство Detail. Дополнительные сведения см. в разделе «Свойство Detail» в пакете SDK для Microsoft .NET Framework.
Try' Code for accessing the report serverCatch ex As SoapException ' The exception is a SOAP exception, so use ' the Detail property's Message element. Console.WriteLine(ex.Detail("Message").InnerXml)End Trytry{ // Code for accessing the report server}catch (SoapException ex){ // The exception is a SOAP exception, so use // the Detail property's Message element. Console.WriteLine(ex.Detail["Message"].InnerXml);}Try' Code for accessing the report serverCatch ex As SoapException If ex.Detail("ErrorCode").InnerXml = "rsInvalidItemName" Then End If ' Perform an action based on the specific error codeEnd Trytry{ // Code for accessing the report server}catch (SoapException ex){ if (ex.Detail["ErrorCode"].InnerXml == "rsInvalidItemName") { // Perform an action based on the specific error code }}
Приведенная ниже строка кода выводит на консоль конкретный код ошибки, возвращенный исключением SOAP. Можно также вычислить код ошибки и выполнить соответствующие действия.
Console.WriteLine(ex.Detail("ErrorCode").InnerXml)Console.WriteLine(ex.Detail["ErrorCode"].InnerXml);
См. также