Excepciones

Todos los problemas se notifican mediante un objeto de excepción, el cual es una subclase del objeto de excepción definido por WVCM.
El cliente puede obtener la información siguiente de una excepción:

Cada operación define un conjunto de condiciones previas que deben cumplirse para que la operación se lleve a cabo correctamente. Por ejemplo, debe existir un recurso cuyas propiedades vayan a leerse. No puede existir ningún recurso con el mismo nombre que el recurso que vaya a crearse. Cuando un recurso vaya a extraerse, es necesario crear e incorporar una versión del mismo. Si dichas condiciones previas se infringen, es posible que la operación lance una excepción.

Con frecuencia, las operaciones pueden aplicarse a una colección de recursos. Si la operación no se lleva a cabo correctamente en alguna de estas colecciones, se lanzará una excepción (con las operaciones realizadas correctamente notificadas en el objeto de la excepción).

Los problemas que el servidor se encuentre al leer o grabar las propiedades o metapropiedades del recurso no provocan que la operación de la API de ClearQuest CM emita una excepción. En lugar de esto, la excepción se asocia con la propiedad del proxy devuelto. La excepción se lanzará sólo cuando el cliente intente extraer el valor de dicha propiedad del proxy. Es posible que el cliente también realice consultas al proxy antes de extraer el valor de propiedad para determinar si existen problemas y para obtener la excepción sin que se lance. Consulte el apartado Información adicional sobre propiedades.

La API de ClearQuest CM incluye estos tipos de excepciones principales:

StpException

StpException es una ampliación de WvcmException y es la clase básica de todas las excepciones seleccionadas lanzadas por la API de ClearQuest CM. Todas las implementaciones de los métodos definidos por WVCM lanzan la excepción WvcmException. Todos los métodos públicos de la API de ClearQuest que son ampliaciones de WVCM también lanzan la excepción WvcmException. Sin embargo, las implementaciones de todos estos métodos sólo lanzan excepciones StpException de forma sistemática, pero no excepciones WvcmExceptions. Se aplican las convenciones siguientes:
  • El lanzamiento de una excepción StpException nunca se utiliza en una declaración de método (pública ni de cualquier otro tipo). Aunque un método lance una excepción StpException, se declara como si hubiese lanzado una excepción WvcmExceptions.
  • Un método nunca lanza una excepción WvcmExceptions nueva. Aunque la excepción pueda expresarse como una excepción WvcmExceptions, siempre se lanza como una excepción StpException nueva.

StpPropertyException

StpPropertyException amplía la excepción StpException y es la clase de excepción básica para errores asociados con la lectura o grabación de propiedades de recurso.

Una vez que se ha solicitado un valor de propiedad desde un servidor, su nombre se asocia con el resultado y se almacena en un proxy. Dicho nombre se asocia con el valor recuperado si el intento de recuperación se ha realizado correctamente o bien con la información de estado (en forma de un objeto StpPropertyException) si el intento de recuperación no se ha llevado a cabo correctamente.

StpPartialResultsException

StpPartialResultsException amplía la excepción StpPropertyException y se utiliza para notificar la anomalía de una operación o propiedad que afecta a varios recursos. Se convierte en un sustituto de ResourceList que normalmente devuelve la operación o propiedad. Contiene un lista de recursos ResourceList, la cual tiene los proxys para los recursos que se han procesado correctamente y una lista de excepciones StpExceptions, cada una de las cuales corresponde a un recurso cuya operación no se ha llevado a cabo correctamente. Consulte la información del Javadoc para obtener detalles.


Comentarios