FG Hiermit wird unter Anderem definiert, wie auf Laufzeitfehler reagiert werden soll (z.B. beim Zugriff auf eine nicht vorhandene Datei).
Bei einem auftretenden Laufzeitfehler (z.B. Zugriff auf eine nicht vorhandene Datei oder Division durch 0) wird normalerweise eine Meldung ausgegeben und der Anwender gefragt, wie weiter zu verfahren ist.
Durch Einstellungen in diesem Befehl kann der Fehler aber auch beispielsweise ignoriert oder das Skript automatisch beendet werden.
Vorher wird wahlweise ein Ereignis-Unterprogramm aufgerufen aufgerufen (falls definiert), in dem auch eine entsprechende Aktion je nach Fehlercode aus [cX.Fehler.Fehlertyp] stattfinden kann. Wird hier die Fehlerbehandlung verändert (z.B. durch [Fehler.Behandlung] = 5 oder Rückgabe des entsprechenden Wertes aus dem Fehler-Unterprogramm), wird entsprechend anders auf den Fehler reagiert.
Funktion |
Wert |
Beschreibung |
Abbrechen |
3 |
Skript bzw. Operation (z.B. Kopieren) abbrechen |
Ignorieren |
5 |
Fehler ignorieren |
Wiederholen |
4 |
Anweisung wiederholen, nochmal versuchen |
Optional kann auch eine Marke bestimmt werden, die bei einem Fehler aufgerufen werden soll. Wird hier ein - eingesetzt, wird die Standardmarke wieder aktiviert.
Hinweis: Auch mit der Option "Fehler ignorieren" wird der laufende Befehl abgebrochen. Sollten in diesem Befehl mehrere Funktionen hintereinander ablaufen, was häufig der Fall ist, werden die nach dem aufgetretenen Fehler noch anstehenden Funktionen nicht ausgeführt.
Falls im Skript ein Bild angezeigt werden soll und dieses nicht gefunden wird, kann hier eingestellt werden, wie click.EXE darauf reagieren soll:
• | Fehler auslösen (behandeln wie jeden anderen Fehler) |
• | Standardbild (Anzeige eines Ersatzbildes) |
• | Ignorieren (nichts tun). |
Weitere Möglichkeiten des Befehls zur Fehlersuche (nur im Editor wirksam!):
- Zeitlupenfaktor stellt (bei Ausführung im Editor) die Zeitlupen-Funktion mit dem angegebenen Faktor ein (0=Zeitlupe wieder deaktivieren)
- optionale Einzelschritt-Meldungen
- Debugmeldung (Meldung mit Abbruchmöglichkeit, nur im Editor wirksam!)
- Protokolleinträge (Ausgaben im Protokollfenster; ein/ausblenden per Ansicht-Menü)
- Fehler zurücksetzen löscht bisherige Fehlerinfos (siehe [cX.Fehler.Zurücksetzen])
- Exklusiv-Modus:
Ist diese Option eingeschaltet, werden bei der Ausführung nicht pro Befehl andere Ereignisse ausgewertet oder Fenster aktualisiert (vorzugsweise nur temporär zu aktivieren, da sonst der Editor kaum noch reagiert).
Ist sie ausgeschaltet, werden auch in einer EXE pro Befehl Ereignisse ausgewertet (sonst nicht).
Ist sie weder an noch aus, werden im Editor pro Befehl die Ereignisse bearbeitet und in der EXE nicht.
Siehe auch [cX.Skript.EreignisseVerarbeiten]
Beispiel:
*** Demo für das Verhalten des Fehler/Debug-Befehls Fehler/Debug Fehler ignorieren, Aufruf bei Fehler: 'Skriptfehler'
*** Hier wird ein Fehler ausgelöst! Setze in [Variable]: '1 / 0' (berechnen) Datei lesen 'c:\GibtsNicht.nanu' in [Text] (Zeile 1) Datei schreiben 'q:\Test.txt' den Text 'Nanu!' (Anhängen)
Meldung 'Ende der Demo', Titel 'Fertg', Buttons 'Nur OK', Symbol 'Information' Beende Skript
:: Skriptfehler *** Nummer und Beschreibung des Fehlers anzeigen; bei OK geht's weiter Meldung 'Fehlernummer: [cX.Fehler.Fehlertyp]¶[cX.Fehler.Text]¶', Titel 'Es ist ein Fehler aufgetreten!', Buttons 'OK, Abbrechen', Symbol 'Information' Zurück |
In diesem Beispiel werden 3 Fehler erzeugt. Nach jedem Fehler wird das Unterprogramm "::Skriptfehler" aufgerufen, durch das die entsprechenden Fehlermeldungen ausgegeben werden:
**cx5AR-LC AAAAAAABAC tVE1v00AQv SPxH6aLBCc SisQliSuRJ gGBGqQmapF oD2t7Yq9ir 83sbJvwwzh x6x_r2Ilxl AMJUi7eeTv jNx_7dgezi EzJFy9fAAw ufcae8CLGQ bexN44iz7W NXY1aDNt1v i4xUBVAywr muOJAjTAvY PH0hyDWDm6 QUp0xWojRw QTTDKk7wtA nb4e4EOgUd P9JP85LXh8 KqhkVjIkKG mKqH0xBgfq gYIZcb37xe XmlaRmo2bJ qfFFXcpLce _1_NkjwiBR Lzw9ILkoNi o2w7R60dwl mT78dH2KW4 m80GR1mqKC xAtXuXRZWR itJz7vvBOk s8plmCTk_R D0xGV6jjnd 5q_oVVB6rc 8FR7-6TCdl NTZRyx2rrj 2G9JcO4S_O zdzdHxx1e_ Z3RVLjOTjL 8K3ROJ5Jvb rjqYYLESZN mbGMU3RFUm lQw9MyFdUd MR36UcEK9v E21EL0_Sa2 NBhVM68H8j xL3RDb1Agm 8hA1RJEZoQ m-TnUvmQNt faBK0fQjRw LevkGDKb5x oUw7oYML9w Y4dGMeAxrY 6XiTIhKLAs 6aujcvW1fX gR_S9s9nZL rwu71-_Wn3 sy2fUr62dm IrivvUcdUi bEHm22pdq0 N2-bc-V7Z3 c5AQAAA=== *
cX-Webseite: http://www.clickexe.net