Partilhar via


Usando a propriedade Detail para manipular erros específicos

Para classificar ainda mais as exceções, o Reporting Services retorna informações de erro adicionais na propriedade InnerText dos elementos filhos da propriedade Detail da exceção SOAP. Como a propriedade Detail é um objeto XmlNode objeto, você pode acessar o texto interno do elemento filho Message usando o código a seguir.

Para obter uma lista de todos os elementos filhos disponíveis contidos na propriedade Detail, consulte Propriedade Detail. Para obter mais informações, consulte "Propriedade Detail" na documentação do SDK do 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
   }
}

A linha de código a seguir grava o código de erro específico retornado na Exceção SOAP para o console. Você também pode avaliar o código de erro e executar ações específicas.

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