PRECONDITION(p)-Anweisung als Makro, welches erst
Code erzeugt, wenn die Präprozessorvariable __DEBUG einen Wert
hat
wird Code erzeugt, dann expandiert das Makro an der originalen
Quelltextzeile zu einer Überprüfung der Bedingung (Precondition) und wirft
bei Verletzung eine precondition-Exception aus
dem Konstruktor des Exception-Objektes wird das Bedingungsstatement
als String und zusätzlich der Name des Quelltextfiles und die Nummer der
aktuellen Quelltextzeile übergeben