Fehlermeldungen
Im Falle eines Fehlers gibt der Interpreter eine beschreibende Fehlermeldung aus. Eine Fehlermeldung besteht aus einer Quellcode-Koordinate und einer Beschreibung. Die Quellcode-Koordinate verbindet den Fehler mit seinem Ursprung im GST
-Programm. Ein Bereich von Quellcode wird definiert, der vom ersten Zeichen des Codebereichs bis zum letzten Zeichen des Codebereichs reicht. Beide, das erste und das letzte Zeichen, sind durch ihre Datei, Zeile und Spalte definiert. Beachten Sie, dass das letzte Zeichen tatsächlich auf das erste Zeichen hinter dem Bereich zeigt, was eine übliche technische Konvention ist.
Beispiel:
Im folgenden Beispiel wird eine Integer-Variable i
deklariert und initialisiert. Die Initialisierung verwendet ein Fließkomma-Literal. Da eine implizite Konvertierung von Fließkomma nach Integer in ST
nicht erlaubt ist, erzeugt der Interpreter beim Laden des Programms die unten stehende beschreibende Fehlermeldung. Die Fehlermeldung meldet nicht nur, dass ein Typ-Fehler aufgetreten ist, sondern gibt auch die genaue Position an: Datei aaa.nc
, Zeile 3
, Spalte 14
bis 17
. In diesem Codebereich wird das Literal '1.5
' angezeigt. Darüber hinaus werden der programmierte Typ (real
) und der erwartete Typ (int
) gemeldet. Mit einer solchen detaillierten Fehlermeldung können Bugs vom Entwickler leicht behoben werden.
{
VAR
i : int := 1.5;
END_VAR
}
M02
Fehlermeldung:
aaa.nc: 3.14-3.17: Invalid implicit conversion from type
'<real literal>' to 'int'.