Assertions aktivieren
Um sie zu aktivieren, muss der Programmaufruf mit dem Schalter -ea erfolgen:java -ea meineKlasse
Dies kann auch differenzierter erfolgen, indem Assertions in einigen Klassen
aktiviert und in anderen deaktiviert werden. Zur Deaktivierung wird der
Schalter -da verwendet. Im folgenden Beispiel wird das Programm Bar
aufgerufen, wobei Assertions im Package de.yourwebs.meinProg
aktiviert und in der Klasse de.yourwebs.meinProg.Foo deaktiviert
werden:
java -ea:de.yourwebs.meinProg...
-da:de.yourwebs.meinProg.Foo Bar
Assertions einbinden
Das Beispiel unten zeigt die Art und Weise, wie Assertions in ein Programm eingebunden werden können.In main() erfolgt der zweimalige Aufruf einer Methode, die als Parameter ein Objekt vom Typ Object erwartet. Innerhalb der Methode gibEtwasAus(Object e) wird der übergebene Wert daraufhin geprüft, ob er vom Typ Etwas ist. Ist dies der Fall, so wird der Wert einer Variablen ausgegeben und die Methode wird beendet. Im anderen Fall wird ein AssertionError mit einem entsprechenden Hinweis geworfen. Dies verdeutlicht die notwendige Syntax für den Aufruf:
assert boolscher Ausdruck : Wert
Wert wird mit der Fehlermeldung ausgegeben, wenn der boolsche
Ausdruck false ist. Für diesen kann somit z.B. auch ein
Methodenaufruf stehen, der einen boolschen Rückgabewert besitzt.Der Konstruktor von Etwas bekommt im Beispiel einen int-Wert übergeben, der ebenfalls geprüft wird: Ist dieser kleiner 11, so wird wiederum ein AssertionError ausgelöst und das Programm terminiert an dieser Stelle. Der o.a. Fall tritt im Beispiel somit gar nicht ein, da bei der Objektbildung ein Wert von 1 übergeben wird.