Impianto di asserzione viene aggiunto in J2SE 1.4. Per supportare questa struttura J2SE 1.4 aggiunto la parola chiave affermare alla lingua, e la classe AssertionError. Un'asserzione controlla un'espressione boolean tipizzato che deve essere true durante l'esecuzione del programma runtime. L'impianto asserzione è possibile abilitare o disabilitare in fase di esecuzione.
Dichiarando l'asserzione
Istruzioni di asserzione hanno due forme come indicato qui sotto
affermare l'espressione;
asserire expression1: expression2;
La prima forma è la forma semplice dell'asserzione, mentre la seconda forma prende un'altra espressione. In entrambi la forma rappresenta l'espressione booleana condizione che deve essere restituiscono vero runtime.
Se la condizione restituisce false e le asserzioni sono abilitate, AssertionError verrà generata in fase di esecuzione.
Di seguito sono alcuni esempi che utilizzano la forma semplice asserzione.
affermare il valore > 5;
affermare la accontBalance > 0;
affermare la isStatusEnabled();
L'espressione che deve essere affermato il runtime deve essere il valore booleano. Nel terzo esempio isStatusEnabled() deve restituire il valore booleano. Se la condizione restituisce true, l'esecuzione continua normalmente, altrimenti il AssertionError è generata.
Seguente programma utilizza la forma semplice dell'asserzione
//AssertionDemo.java
Classe {AssertionDemo
Pubblico statico vuoto principale (String args[]) {
System.out.println (withdrawMoney(1000,500));
System.out.println (withdrawMoney(1000,2000));
}
pubblica withdrawMoney doppia (doppio bilanciamento, quantità doppia) {
affermare l'equilibrio > = importo;
restituire equilibrio – importo;
}
}
In precedenza ha dato esempio, metodo principale chiama il metodo di withdrawMoney con equilibrio e quantità come argomenti. Il metodo withdrawMoney ha un'istruzione assert che controlla se l'equilibrio è maggiore o uguale all'importo da ritirare. Nella prima chiamata che del metodo verrà eseguito senza eccezioni, ma in seconda convocazione essa AssertionError viene generata se l'affermazione è abilitata in fase di esecuzione.
Abilitazione asserzione
Per impostazione predefinita l'asserzione non sono attivate, ma il compilatore si lamenta se affermare è usato come un identificatore o etichetta. Il seguente comando compilerà AssertionDemo con asserzione abilitato.
javac –source 1.4 AssertionDemo.java
Il file di classe AssertionDemo risultante conterrà codice di asserzione.
Dall'affermazione di default sono disattivati in ambiente runtime Java. La volontà di –eanbleassertion o – ea argomento consente l'affermazione, mentre –disableassertion o –da disabiliterà le asserzioni in fase di esecuzione.
Il seguente comando verrà eseguito il AssertionDemo con asserzione abilitato.
Java – ea AssertionDemo
o
Java –enableassertion AssertionDemo
Seconda forma di affermazione
Il secondo dell'asserzione prende un'altra espressione come argomento.
La sintassi è,
asserire expression1: expression2;
dove expression1 è la condizione che deve restituire true in fase di esecuzione.
Questa affermazione è equivalente a
asserire expression1: gettare nuova AssertionError(expression2);
Nota: AssertionError è eccezione unchecked, poiché esso è ereditata dalla classe Error.
Qui, expression2 deve restituire un valore.
Per impostazione predefinita AssertionError non fornisce utile messaggio così questa forma può essere utile visualizzare un messaggio informativo all'utente.
No comments:
Post a Comment