Gestione di avvisi e casi che non provocano eccezioniHandling Warnings and Cases That Do Not Cause Exceptions

In Reporting ServicesReporting Services non vengono generate eccezioni per gli avvisi e per determinati errori. Reporting ServicesReporting Services does not throw exceptions for warnings and certain errors. Quando, ad esempio, si utilizza il metodo CreateCatalogItem per pubblicare un nuovo report in un server di report, gli avvisi vengono restituiti come matrice di oggetti Warning.For example, when you use the CreateCatalogItem method to publish a new report to a report server, any warnings that occur are returned as an array of Warning objects. Questi avvisi devono essere gestiti e visualizzati in modo che sia possibile eseguire l'azione appropriata.These warnings should be handled and displayed so that appropriate action can be taken.

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

   If Not (warnings.Length = 0) 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  
{  
   rs.CreateCatalogItem("Report", name, parentFolder, false, definition, null, out warnings);  

   if (warnings.Length != 0)  
   {  
      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);  
}  

Un altro modo per gestire gli errori consiste nel valutare i valori restituiti di determinati metodi.Another way to handle errors is to evaluate the return values of certain methods. È ad esempio possibile utilizzare il metodo FindItems per cercare elementi specifici nel database del server di report.For example, the FindItems method can be used to search for specific items in the report server database. Se non vengono trovati elementi corrispondenti ai criteri di ricerca, viene restituita una matrice Null di oggetti CatalogItem.If no items are found that match the search criteria, a null array of CatalogItem objects is returned. È necessario valutare la matrice, verificare la presenza di nulle consentire all'utente di conoscere se nessun elemento trovato.You should evaluate the array, check for null, and let the user know if no items were found.

Vedere ancheSee Also

CatalogItemCatalogItem
Introduzione a gestione delle eccezioni in Reporting Services Introducing Exception Handling in Reporting Services
Classe SoapException di Reporting ServicesReporting Services SoapException Class