Compartilhar via


Use a propriedade Detail para lidar com erros específicos

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

Para obter uma lista de todos os elementos filho disponíveis contidos na propriedade Detail, consulte Propriedade Detail. Para obter mais informações, confira “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);