Administrar las advertencias y casos que no producen excepciones
Reporting Services no genera excepciones para las advertencias y ciertos errores. Por ejemplo, al utilizar el método CreateCatalogItem para publicar un nuevo informe en un servidor de informes, cualquier advertencia que se produzca se devuelve como una matriz de objetos Warning. Estas advertencias se deberían administrar y mostrar para que se puedan tomar las medidas adecuadas.
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);
}
Otra manera de administrar los errores es evaluar los valores que devuelven ciertos métodos. Por ejemplo, el método FindItems se puede utilizar para buscar los elementos específicos en la base de datos del servidor de informes. Si no se encuentra ningún elemento que coincida con el criterio de búsqueda, se devuelve una matriz NULL de los objetos CatalogItem. Debería evaluar la matriz, comprobar si es null y permitir que el usuario sepa si no se encontró ningún elemento.
Vea también