Share via


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.