Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Referenz - ASSERT

Referenz-Navigation

 

Syntax: ASSERT (Ausdruck)
Typ: Makro
Kategorie: Fehlerbehandlung

Das Makro ASSERT wurde zum Debugging entwickelt und funktioniert nur, wenn der Compiler mit der BefehlsreferenzeintragOption "-g" aufgerufen wird. Ist dies der Fall, wird das Programm beendet, sobald 'Ausdruck' gleich null ist. Zusätzlich wird eine Zeile ausgegeben:

Dateiname(Zeilennummer): assertion failed at PROZEDUR: Ausdruck

Wenn die Option "-g" nicht an fbc übergeben wird, erzeugt dieses Makro keinen Code; das Programm wird nicht beendet, wenn der Ausdruck gleich null wird.

Beispiel:

Declare Sub foo()

Sub foo()
  Dim a As Integer = 10
  For i As Integer = 1 To 20
    a -= 1
    Assert (a <> 0)
    Print a
  Next
End Sub

foo()

Sub Quit Destructor
  Sleep
End Sub

Wenn -g an den Compiler übergeben wird, wird das Programm mit dieser Meldung beendet:

test.bas(8): assertion failed at FOO: a <> 0

Die BefehlsreferenzeintragDESTRUCTOR-Sub bewirkt, dass auf einen Tastendruck gewartet wird; so kann die Meldung gelesen werden und verschwindet nicht sofort. Das Beispiel schlägt unter Umständen fehl, wenn Sie es z. B. mit der "Quick Run"-Option in FbEdit aufrufen. Eine fertig compilierte Debug-EXE wird aber wie erwartet bei 0 anhalten.

Unterschiede zu QB: neu in FreeBASIC

Unterschiede unter den FB-Dialektformen:
In der Dialektform Befehlsreferenzeintrag-lang qb steht ASSERT nicht zur Verfügung und kann nur über __ASSERT aufgerufen werden.

Siehe auch:
BefehlsreferenzeintragASSERTWARN, BefehlsreferenzeintragDer Compiler, BefehlsreferenzeintragFehlerbehandlung, Debugging


Zusätzliche Informationen und Funktionen
  • Der Referenzeintrag wurde am 25.06.2007 von Redakteurnemored angelegt.
  • Die aktuellste Version wurde am 19.01.2013 von Redakteurnemored gespeichert.
  Versionen Versionen