Zum Hauptinhalt springen

Fehler

WannBeispieleWas geschieht
KompilierfehlerSyntaxfehler, unbekannte integrierte Funktion, falsche Anzahl von Argumenten, nicht definierte Variable, falsch geschriebene Konstante, nicht geschlossene Zeichenfolge oder nicht geschlossener KommentarNichts wird ausgeführt. Nur der erste Fehler wird gemeldet, mit Zeile und Spalte. Die Diagnosekonsole und der Editor der Konfigurationsoberfläche zeigen ihn an.
Fehler einer integrierten Funktionfalscher Argumenttyp, ein negativer Teilzeichenfolgen-Anfang, MathRandom(5, 1), ein unbekannter Schaltflächenname für ein Meldungsfenster, ein leeres Trennzeichen beim Aufteilen, das Öffnen eines seriellen Anschlusses, den Input.Observer bereits geöffnet hatDie Aktion endet bei diesem Aufruf. Anweisungen danach werden nicht ausgeführt, und der Fehler wird als BuiltinName: reason gemeldet.
Weiches ErgebnisOperatoren auf nicht passenden Typen, Division durch null, ein Null-Fenster oder geschlossenes Fenster (Position, Größe oder DPI lesen sich als 0), ein Index außerhalb des Bereichs, eine nicht vorhandene Datei, ein serieller Anschluss, der sich nicht öffnen lässtKein Fehler. Sie erhalten 0, false, "", -1 oder ein Null-Window, und das Skript läuft weiter.

Häufige Kompilierfehler und ihre Bedeutung:

Sie haben geschriebenWarum es fehlschlägtSchreiben Sie stattdessen
i++; / i += 1;keine Inkrement- oder Verbundoperatoreni = i + 1;
while (x) { … }while ist kein Schlüsselwort und wird daher als unbekannte Funktion geleseneine for-Schleife
x = n % 2;es gibt kein %x = n - (n / 2) * 2; oder n & 1
'text'einfache Anführungszeichen begrenzen keine Zeichenfolgen"text"
r = .5; / r = 1e3;kein führender Punkt, keine Exponenten0.5 / 1000.0
a = b = 0;eine Zuweisung ist kein Ausdrucka = 0; b = 0;
for (;;), for (i = 0, j = 0; …)Initialisierung und Schritt müssen jeweils genau eine Zuweisung seinj = 0; for (i = 0; …; i = i + 1)
print(x)unbekannte Funktion. Namen integrierter Funktionen sind exakt, und die Groß-/Kleinschreibung zählt.UtilityPrint(…)
y = total + 1; als erste Zeiletotal wurde oberhalb dieser Stelle nicht zugewiesenzuerst zuweisen: total = 0;