Gestione di avvisi e casi che non provocano eccezioni
In Reporting Services non vengono generate eccezioni per gli avvisi e per determinati errori. Quando, ad esempio, si utilizza il metodo CreateReport per pubblicare un nuovo report in un server di report, gli avvisi vengono restituiti come matrice di oggetti Warning. Questi avvisi devono essere gestiti e visualizzati in modo che sia possibile eseguire l'azione appropriata.
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);
}
Un altro modo per gestire gli errori consiste nel valutare i valori restituiti di determinati metodi. È ad esempio possibile utilizzare il metodo FindItems per cercare elementi specifici nel database del server di report. Se non vengono trovati elementi corrispondenti ai criteri di ricerca, viene restituita una matrice Null di oggetti CatalogItem. È necessario valutare la matrice, verificare la presenza di null e comunicare all'utente se non sono stati trovati elementi.
Vedere anche