assert

Konzept

Stand

nicht implementiert

Ursprung

siehe return.

Scope

Innerhalb einer Function

Rückgabe

assert gibt neutral zurück, um das folgende Konstrukt zu ermöglichen:

x = bla() && assert x.isValid();

Beschreibung

Ist allen Rückgabevariablen ein Wert zugewiesen worden (z.B. ein Defaultwert) oder müssen sie nicht zwangsweise initialisiert werden, dann können mit assert zur Laufzeit Abfragen gemacht werden, ob die bisherigen Anweisungen wie erwartet verlaufen sind. Ist die angegebene Bedingungen nicht false/null, so wird die Programmausführung fortgesetzt. Ansonsten werden die Rückgabeparameter auf den Default-Wert gesetzt und der Funktionsaufruf abgebrochen.

Beispiel

code( Window * result=null ) MyOpenWin :=
{
  Window * win;
 
  assert win = openWin();  // wenn falsch, dann exit mit default wert.
 
  // Initialisierung wird nur ausgeführt, wenn win "wahr" ist.
 
  return win;
}

siehe auch