Dart Assert

Die Suche nach einem Fehler im eigenen Code, ist etwas das jedem Programmierer bekannt sein dürfte. Um das zu vereinfachen gibt es verschiedene Ansätze und Möglichkeiten. In diesem Post gehen wir auf assert ein. Die assert() Funktion wertet aus, ob ein Ausdruck, wahr oder Falsch ist. Ist er wahr, wird das Programm fortgesetzt. Ist er falsch, wird eine Fehlermeldung generiert.


Beispiel 1:

In diesem Beispiel werden zwei Integer Variablen verglichen. Das Resultat ist natürlich "falsch".

Dart assert - für was ?


Dart generiert Ausnahme
assert generiert Ausnahme
Die IDE und der Compiler weisen uns auf eine Reihe von  Fehlern hin. Ein fehlendes Argument in einer Funktion, eine falsche Verwendung von Variablen Typen und vieles mehr. Diese Fehlerkontrolle läuft aber ins Leere, wenn der Code selbst fehlerfrei ist, die Logik dahinter aber nicht. Wenn wir vom Code erwarten, das er an einem bestimmten Punkt, ein definiertes Ergebnis liefert, sprich zum Beispiel einen Wert oder eine wahr / falsch Aussage, dann können wir das mit assert überprüfen. assert ist ein von Hand implementiertes Debugging.
Dabei spielt der assert Code nur während der Entwicklung eine Rolle und wird vom Compiler nicht in das Endresultat übernommen.

Wir können bei der Fehlermeldung jedoch noch mehr Individualität rein bringen. Dart ermöglicht es, einen eigenen Fehlertext einzubauen.

Beispiel 2:


Was bei einem ersten Blick nur wie ein kleines Feature aussieht, kann bei grösseren Projekten, und dementsprechend zahlreicheren assert Implementierungen, eine sehr nützliche Möglichkeit sein. Dabei ist der Code so zu verstehen:
Zuerst wird der Ausdruck ausgewertet (ZahldesAbends ist gleich wie ZahldesMorgens). Anschließend wird mit dem Fragezeichen, der Code für die zwei Möglichkeiten eingeleitet. Links vom Doppelpunkt der Code für wahr, das Programm läuft weiter ohne Unterbruch, rechts für falsch, das Programm generiert eine benutzerdefinierte Fehlermeldung. Der Code für wahr besteht in diesem Beispiel aus dem booleschen Schlüsselwort true.

Zusammenfassung: Mit assert gibt uns Dart eine sehr einfach implementierbare Möglichkeit Fehler zu finden bzw Ausdrücke auf Fehler zu überprüfen. Das ist dann hilfreich, wenn der Code nominell korrekt ist, die Logik dahinter aber eventuell nicht.

Kommentare

Beliebte Posts aus diesem Blog

Material Design in Flutter Teil 2

Dart Basic: Listen Part 1

Listen in Dart (2021): Part 1 List.filled List.empty und List.add