Utilisation de la propriété Detail pour gérer des erreurs spécifiques

Pour mieux classifier les exceptions, Reporting Services retourne des informations supplémentaires sur l'erreur dans la propriété InnerText des éléments enfants dans la propriété Detail de l'exception SOAP. Dans la mesure où la propriété Detail est un objet XmlNode, vous pouvez accéder au texte interne de l'élément enfant Message à l'aide du code indiqué ci-après.

Pour obtenir la liste de tous les éléments enfants disponibles dans la propriété Detail, consultez Propriété Detail. Pour plus d'informations, consultez « Propriété Detail » dans la documentation du Kit de développement logiciel Microsoft .NET Framework.

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
   }
}

La ligne de code suivante écrit le code d'erreur spécifique qui est retourné dans l'exception SOAP sur la console. Vous pouvez également évaluer le code d'erreur et effectuer des actions spécifiques.

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