Was ist die Programmausgabe wenn dieses Programm ausgeführt wird?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
/** * Rätsel des Tages. * * @author Thomas Wenzlaff * */ public class RätselDesTages { public static void main(String[] args) { System.out.println("Start"); assert false; System.out.println("Ende"); } } |
Die Lösung ohne VM Parameter:
1 2 |
Start Ende |
Aber mit VM Parameter -enableassertions
1 2 3 |
Start Exception in thread "main" java.lang.AssertionError at de.wenzlaff.anschlaege.RätselDesTages.main(RätselDesTages.java:15) |
Das „Ende“ von System.out wir also nicht erreicht, da ein java.lang.AssertionError geworfen wird. So kann mit dem Parameter alles getestet werden und in PROD wird das alles ohne Parameter ausgeführt und dann ingnoriert. Hier wird in Eclipse der VM Parameter eingegeben.
Und wie immer, „Die Liebe versagt nie!“