Freigeben über


Verwenden der Detail-Eigenschaft zum Behandeln bestimmter Fehler

Um Ausnahmen weiter zu klassifizieren, gibt Reporting Services weitere Fehlerinformationen in der InnerText-Eigenschaft der untergeordneten Elemente in der Detaileigenschaft der SOAP-Ausnahme zurück. Da die Detail-Eigenschaft ein XmlNode-Objekt ist, können Sie mit folgendem Code auf den inneren Text des untergeordneten Message-Elements zugreifen.

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

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);