Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
ASSERT
|
ASSERT ( boolAusdruck {; MeldungText} ) | ||||||||
Parameter | Typ | Beschreibung | ||||||
boolAusdruck | Boolean |
![]() |
Boolean Ausdruck | |||||
MeldungText | Text |
![]() |
Text der Fehlermeldung | |||||
Der Befehl ASSERT bewertet die im Parameter boolAusdruck übergebene Assertion und stoppt die Ausführung des Code mit einer Fehlermeldung, wenn boolAusdruck falsch zurückgibt. Der Befehl arbeitet im interpretierten und kompilierten Modus.
Ist boolAusdruck wahr, passiert nichts. Ist er falsch, löst der Befehl den Fehler -10518 aus und zeigt standardmäßig den Text der Assertion mit dem Anfang "Assertion fehlgeschlagen:" Sie können diesen Fehler mit einer Methode abfangen, die über den Befehl ON ERR CALL installiert wird, um z.B. Informationen zu einem Logbuch zu liefern.
Optional können Sie den Parameter MeldungText übergeben, um anstelle des Textes der Assertion eine eigene Fehlermeldung anzuzeigen.
Eine Assertion ist eine in den Code eingefügte Anweisung, die zum Herausfinden von Unstimmigkeiten während der Code-Ausführung dient. Sie überprüft, ob eine Anweisung zu einem gegebenen Moment wahr ist und verursacht, wenn das Gegenteil eintritt, eine Ausnahme. Assertionen dienen vorallem dazu, Fälle herauszufinden, die in der Regel gar nicht auftreten sollten. Sie werden hauptsächlich zum Herausfinden von Programmierfehlern verwendet. Über den Befehl SET ASSERT ENABLED können Sie alle Assertionen einer Anwendung (z.B. gemäß dem Versionstyp) global aktivieren oder deaktivieren.
Weitere Informationen zu Assertionen in der Programmierung finden Sie in Wikipedia unter http://en.wikipedia.org/wiki/Assertion_(computing).
Der Entwickler möchte vor Ausführen von Operationen auf einen Datensatz sicherstellen, dass er aktuell im Lese-/Schreibmodus geladen ist:
READ WRITE([Table 1])
LOAD RECORD([Table 1])
ASSERT(Not(Locked([Table 1])))
// Löst Fehler -10518 aus, wenn der Datensatz gesperrt ist
Über eine Assertion können in einer Projektmethode übergebene Parameter auf ungültige Werte getestet werden. In diesem Beispiel wird eine eigene Meldung verwendet:
// Methode, welche die Kundennummer gemäß dem in $1 übergebenen Kundennamen zurückgibt.
C_TEXT($1) // Kundenname
ASSERT($1#"";"Suche nach einem leeren Kundennamen")
// Ein leerer Name ist in diesem Fall ein abwegiger Wert
// Bei falscher Assertion erscheint im Fehlerdialogfenster folgendes:
// "Assertion fehlgeschlagen: Suche nach leerem Kundennamen"
Produkt: 4D
Thema: Unterbrechungen
Nummer:
1129
Erstellt: 4D v12
4D Programmiersprache ( 4D v20 R7)