次の方法で共有


Detail プロパティを使用して特定のエラーを処理する

例外をさらに分類するために、Reporting Services は SOAP 例外の Detail プロパティの子要素の InnerText プロパティに他のエラー情報を返します。 Detail プロパティは XmlNode オブジェクトであるため、次のコードを使って Message 子要素の内部テキストにアクセスできます。

Detail プロパティに含まれる有効なすべての子要素の一覧については、「Detail プロパティ」を参照してください。 詳細については、Microsoft .NET Framework SDK ドキュメントの Detail プロパティに関するページを参照してください。

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

次のコード行によって、SOAP 例外で返される特定のエラー コードがコンソールに書き込まれます。 また、エラー コードを評価して特定のアクションを実行することもできます。

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