Utiliser la propriété Detail pour gérer des erreurs spécifiques
Pour classifier davantage les exceptions, Reporting Services retourne d’autres informations d’erreur dans la propriété InnerText des éléments enfants de 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 Detail, propriété. Pour plus d'informations, consultez « Propriété des détails » dans la documentation du kit de développement logiciel (SDK) .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);