Control de errores de administración de COM+

Los errores que se generan al usar los objetos COMAdmin se notifican de dos maneras, como se indica a continuación:

  • Usar códigos de error específicos de la biblioteca COMAdmin.
  • Uso de la información de error extendida disponible en una colección ErrorInfo especial.

Códigos de error

Los códigos de error de administración se controlan como haría con cualquier mensaje de error COM. En Microsoft Visual C++, estos códigos se devuelven como valores HRESULT. En Microsoft Visual Basic, se producen como excepciones que se pueden detectar. En el caso de los programadores de C++, los códigos de error de administración de COM+ se definen en Winerror.h. Para los programadores de Visual Basic, están disponibles a través del IDE de Visual Basic.

Colección ErrorInfo

Cuando se produce un error, señalado por algún tipo de código de error, puede haber información más detallada disponible, en función de la naturaleza del error. Los objetos COMAdmin proporcionan información extendida en circunstancias en las que la causa precisa del error es difícil de determinar sin un informe detallado, como con varias operaciones de lectura y escritura.

Por ejemplo, al usar métodos como Populate y SaveChanges en un objeto COMAdminCatalogCollection , puede leer o escribir datos para cada elemento de la colección. Pueden producirse errores complicados y pueden ser difíciles de diagnosticar en función de un único código de error numérico. Por lo tanto, la biblioteca COMAdmin realiza información de error extendida a través de una colección especial.

Cuando la información de error extendida está disponible, se coloca en la colección ErrorInfo relacionada con la colección original que tenía el error. Para recuperar el informe de errores, obtenga la colección ErrorInfo relacionada con la colección original y examine los elementos que contiene. Puede recuperar la colección ErrorInfo mediante GetCollection en COMAdminCatalogCollection, dejando el segundo parámetro en blanco donde normalmente especificaría la propiedad Key de un elemento primario.

Cuando se produce un error, debe obtener y rellenar inmediatamente la colección ErrorInfo de la colección que produjo un error, sin realizar ninguna otra operación en esa colección. De lo contrario, se restablece la colección ErrorInfo y no detalla ese error.

Los elementos de la colección ErrorInfo exponen las propiedades especiales de informes de errores MajorRef y MinorRef, que detallan la causa concreta del error. Para obtener más información, vea ErrorInfo.

Operaciones de administración de COM+ en transacciones

Ejemplo introductorio con el catálogo de administración de COM+

Información general sobre los objetos COMAdmin

Recuperación de colecciones en el catálogo COM+

Establecer propiedades y guardar cambios en el catálogo de COM+