異常狀況

所有問題都是藉由異常狀況物件來報告, 該物件是 WVCM 所定義之異常狀況物件的子類別。用戶端可以從這類異常狀況取得下列資訊:

每一項作業都會定義一組前置條件,這些條件必須符合,作業才會順利。例如,要讀取其內容的資源必須存在、與要建立之資源同名的資源不能存在、要移出的資源必須已版本化且已移入。 違反這類前置條件會導致作業擲出異常狀況。

作業經常可以套用至資源的集合。如果任一資源的作業失敗,則會擲出異常狀況(並在異常狀況物件中報告成功的項目)。

伺服器在讀取或寫入資源的內容或 Meta 內容時所發生的問題,並不會造成 Rational® CM API 作業擲出異常狀況。反之,該異常狀況會與已傳回虛擬物件內的內容相關聯。僅當用戶端嘗試從虛擬物件擷取該內容值時,才會擲出異常狀況。用戶端也可能會在擷取內容值之前先詢問虛擬物件,以判斷是否有任何問題,並取得異常狀況而不擲出。請參閱關於內容的其他資訊

Rational CM API 包含下列幾種主要的異常狀況:

StpException

StpExceptionWvcmException 的延伸規格, 也是 Rational CM API 所擲出之所有已檢查的異常狀況的基礎類別。所有 WVCM 定義方法的所有實作都會擲出 WvcmException。Rational CM API 的所有公用方法(WVCM 的延伸規格)也都會擲出 WvcmException。不過,這些所有方法的實作一律只會擲出 StpExceptions,而非 WvcmExceptions。這些使用慣例所適用的情況如下:
  • 在任何方法宣告(公用或其他)中絕不會擲出 StpException。即使方法擲出 StpException,其宣告的方式也會視同它是擲出 WvcmException。
  • 方法絕不會擲出新的 WvcmException。雖然異常狀況可以用 WvcmException 表示,但它一律作為新的 StpException 而擲出。

StpPropertyException

StpPropertyException 延伸了 StpExtension, 也是與讀取或寫入資源內容相關聯之錯誤的基礎異常狀況類別。

在從伺服器要求內容值之後,其名稱即會與結果相關,並儲存在虛擬物件中。如果擷取嘗試已成功,則該名稱會與擷取的值相關聯, 如果擷取嘗試不成功,則會與狀態資訊相關聯(以 StpPropertyException 物件的形式)。

StpPartialResultsException

StpPartialResultsException 延伸了 StpPropertyException,其用來報告包含多個資源的作業或內容失敗。它可用來作為 ResourceList(其通常是由作業或內容傳回)的替代項目。它包含一個 ResourceList(其具有已順利處理之資源的虛擬物件),以及 StpExceptions 的清單(每一個皆對應於一個作業失敗的資源)。如需詳細資訊,請參閱 Javadoc 資訊。


回饋