Verwenden der Detail-Eigenschaft zur Handhabung bestimmter Fehler

Zur weiteren Klassifizierung von Ausnahmen gibt Reporting Services zusätzliche Fehlerinformationen in der InnerText-Eigenschaft der untergeordneten Elemente in der Detail-Eigenschaft der SOAP-Ausnahme zurück. Da die Detail-Eigenschaft ein XmlNode-Objekt ist, können Sie den inneren Text des untergeordneten Message-Elements mit folgendem Code verwenden.

Eine Liste aller verfügbaren untergeordneten Elemente, die in der Detail-Eigenschaft enthalten sind, finden Sie unter Detail-Eigenschaft. Weitere Informationen finden Sie unter "Detaileigenschaft" in der Microsoft.NET Framework-SDK-Dokumentation.

Try
' Code for accessing the report server
Catch ex As SoapException
   ' The exception is a SOAP exception, so use
   ' the Detail property's Message element.
   Console.WriteLine(ex.Detail("Message").InnerXml)
End Try
try
{
   // 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 server
Catch ex As SoapException
   If ex.Detail("ErrorCode").InnerXml = "rsInvalidItemName" Then
   End If ' Perform an action based on the specific error code
End Try
try
{
   // Code for accessing the report server
}
catch (SoapException ex)
{
   if (ex.Detail["ErrorCode"].InnerXml == "rsInvalidItemName")
   {
      // Perform an action based on the specific error code
   }
}

Folgende Codezeile gibt den spezifischen Fehlercode wieder, der in der SOAP-Ausnahme zur Konsole zurückgegeben wird. Sie können den Fehlercode auch auswerten und bestimmte Aktionen ausführen.

Console.WriteLine(ex.Detail("ErrorCode").InnerXml)
Console.WriteLine(ex.Detail["ErrorCode"].InnerXml);