Eccezioni

Tutti i problemi vengono riportati sotto forma di un oggetto eccezione, che è una sottoclasse dell'oggetto eccezione definito da WVCM. Da questo tipo di eccezione il client può ottenere le seguenti informazioni:

Ogni operazione definisce una serie di condizioni antecedenti che devono essere soddisfatte perché l'operazione riesca. Ad esempio, una risorsa le cui proprietà devono essere lette deve esistere, una risorsa che ha lo stesso nome della risorsa da creare non deve esistere, una risorsa di cui deve essere eseguito il checkout deve avere una versione e deve esserne eseguito il checkin. Le violazioni di queste condizioni antecedenti causano le eccezioni dell'operazione.

Le operazioni possono essere spesso applicate ad una raccolta di risorse. Se per una di esse l'operazione non riesce, viene generata un'eccezione (con gli esiti positivi riportati nell'oggetto eccezione).

I problemi che il server rileva durante la lettura o la scrittura delle proprietà o delle meta proprietà di una risorsa non causano un'eccezione per un'operazione Rational CM API. L'eccezione, invece, viene associata alla proprietà all'interno del proxy restituito. Solo quando il client tenta di estrarre il valore proprietà dal proxy viene generata l'eccezione. Il client può anche interrogare il proxy prima di estrarre il valore proprietà per determinare se vi sono problemi ed ottenere l'eccezione senza che venga generata. Vedere Ulteriori informazioni relative alle proprietà.

Rational CM API include i seguenti tipi principali di eccezioni:

StpException

StpException è un'estensione di WvcmException ed è la classe base di tutte le eccezioni verificate generate da Rational CM API. Tutte le implementazioni di metodi definiti per WVCM generano WvcmException. Anche tutti i metodi pubblici di Rational CM API che sono estensioni di WVCM generano WvcmException. Tuttavia, le implementazioni di tutti questi metodi generano in modo omogeneo solo StpException, non WvcmException. Vengono applicate le seguenti convenzioni:
  • La generazione di una StpException non viene mai utilizzata per nessuna dichiarazione di metodo (pubblico o altro). Anche quando un metodo genera una StpException, viene dichiarata come WvcmException.
  • Un metodo non genera mai una nuova WvcmException. Anche se l'eccezione può essere espressa come WvcmException, viene sempre generata come una nuova StpException.

StpPropertyException

StpPropertyException estende StpExtension ed è la classe di eccezioni base per gli errori associati alla lettura o alla scrittura delle proprietà delle risorse.

Una volta che un valore di proprietà viene richiesto da un server, il suo nome viene associato al risultato e viene memorizzato in un proxy. Quel nome viene associato al valore richiamato se il tentativo di richiamo ha avuto esito positivo o alle informazioni sullo stato (sotto forma di oggetto StpPropertyException) se ha avuto esito negativo.

StpPartialResultsException

StpPartialResultsException estende StpPropertyException e viene utilizzato per riportare l'esito negativo di un'operazione o di una proprietà che coinvolge più risorse. Diviene un sostituto del ResourceList che in genere viene restituito dall'operazione o dalla proprietà. Contiene un ResourceList, che include i proxy delle risorse che sono state elaborate correttamente ed un elenco di StpException, ognuna delle quali corrisponde ad una risorsa per la quale l'operazione non è riuscita. Per i dettagli vedere le informazioni Javadoc.


Feedback