Udostępnij przez


Obsługa ostrzeżenia i sprawy, które nie powodować wyjątki

Reporting Services nie wygenerowanie wyjątki dla określonych błędów i ostrzeżeń.Na przykład, kiedy należy używać CreateReport(String, String, Boolean, array<Byte[], array<Property[]) metoda, aby opublikować nowy raport serwer raportów ostrzeżenia, które występują są zwracane w postaci tablicy Warning obiekty. Ostrzeżenia te powinny być obsługiwane i wyświetlenia, tak że może zostać podjęte odpowiednie akcja.

Try
   warnings = rs.CreateReport(name, parentFolder, False, definition, Nothing)

   If Not (warnings Is Nothing) Then
      Dim warning As Warning
      For Each warning In warnings
         Console.WriteLine(warning.Message)
      Next warning
   Else
      Console.WriteLine("Report {0} created successfully with no warnings", name)
   End If

Catch ex As SoapException
   Console.WriteLine(ex.Detail("Message").InnerXml)
End Try
try
{
   warnings = rs.CreateReport(name, parentFolder, false, definition, null);

   if (warnings != null)
   {
      foreach (Warning warning in warnings)
      {
         Console.WriteLine(warning.Message);
      }
   }
   else
      Console.WriteLine("Report {0} created successfully with no warnings", name);
}

catch (SoapException ex)
{
   Console.WriteLine(ex.Detail["Message"].InnerXml);
}

Innym sposobem obsługi błędów jest ocena zwracane wartości niektórych metod.Na przykład FindItems(String, BooleanOperatorEnum, array<SearchCondition[]) Metoda może służyć do wyszukiwania określonych elementów w bazie danych serwer raportów. Jeśli zostaną znalezione nie elementy spełniające kryteria wyszukiwania, tablica wartości null CatalogItem obiekty są zwracane. Należy ocenić tablicy, sprawdź, czy nulli powiadomić użytkownika, jeśli nie znaleziono elementów.