异常

所有问题都通过异常对象方式进行报告,该对象是由 WVCM 定义的异常对象的子类。
客户机可从异常中获取以下信息:

每个操作定义了一组操作成功需要必须满足的前置条件。例如,将要读取其属性的资源必须存在,与将要创建的资源同名的资源不能存在,将要检出的资源必须受版本控制且已检入。违反这些前置条件会导致操作抛出异常。

操作通常可应用于资源的集合。如果操作的任一前置条件不正确,将抛出异常(并附带异常对象中报告的成功记录)。

服务器在读或写资源的属性或元属性时遇到的问题不会导致 ClearQuest® CM API 操作抛出异常。在这种情况下,异常与返回的代理中的属性相关联。仅当客户机尝试从代理中抽取该属性值时,才会抛出异常。客户机还可能在抽取属性值之前查询代理以确定是否出现了问题,并获取异常但不抛出异常。请参阅关于属性的更多信息

ClearQuest CM API 包括以下主要异常类型:

StpException

StpExceptionWvcmException 的扩展,它是 ClearQuestCM API 抛出的所有已校验异常的基类。由 WVCM 定义的方法的所有实现都会抛出 WvcmException。作为对 WVCM 扩展的 ClearQuest CM API 的所有公共方法也会抛出 WvcmException。但是,所有这些方法的实现通常仅抛出 StpException 而非 WvcmExceptions。这些约定适用于以下情况:
  • 抛出 StpException 在任何方法声明(公共或其他)中绝不使用。即使方法抛出 StpException,也将其声明为好像抛出 WvcmExceptions 一样。
  • 方法绝不抛出新的 WvcmExceptions。尽管异常可表示为 WvcmExceptions,它始终还是作为新的 StpException 抛出。

StpPropertyException

StpPropertyException 扩展了 StpException,它是与资源属性读/写相关联的错误的基本异常类。

从服务器请求属性值后,其名称将与结果相关联并存储在代理中。如果检索尝试成功,该名称将与检索到的值相关联;如果检索尝试不成功,该名称将与状态信息(采用 StpPropertyException 对象的形式)相关联。

StpPartialResultsException

StpPartialResultsException 扩展了 StpPropertyException,它用于报告涉及多个资源的操作或属性的错误。它将替代通常由操作或属性返回的 ResourceList。它包含 ResourceList(具有已成功处理的资源的代理)和 StpException 的列表(每个 StpException 均与操作失败的资源对应)。请参阅 Javadoc 详细信息。


反馈