RESUME (TSB)
RESUME (TSB) | |
Syntax: | RESUME [NEXT / <ausdruck>] |
Parameter | |
NEXT: setzt in der folgenden Zeile fort | |
ausdruck: setzt in der Zeile <ausdruck> fort | |
Einordnung | |
Typ: | Anweisung |
Kontext: | Strukturkontrolle |
Aufgabe: | Beendet eine Tastatur-Kontrollroutine / setzt ON ERROR fort |
Abkürzung: | resU |
Token: | $64 $39 (100 57) |
Verwandte Befehle | |
ON KEY - ON ERROR - DISABLE - ERRN - ERRLN - NO ERROR - RESUME |
Dieser Artikel beschreibt das TSB-Schlüsselwort RESUME (TSB).
Das entsprechende Simons'-Basic-Schlüsselwort lautet ebenfalls RESUME.
Typ: Anweisung Syntax: RESUME [NEXT | <ausdruck>]
IN TSB kann dieser Befehl zwei sehr unterschiedliche Aufgaben erfüllen.
Aufgabe 1:
Siehe RESUME (Teil der ON-KEY-Befehle). Hier gilt die parameterlose Befehlssyntax.
Aufgabe 2:
RESUME ist hier Teil der ON-ERROR-Befehle von TSB. Es dient dazu, die Fehlerabfangroutine im BASIC-Programm zu beenden, ohne den Fehlerabfangmodus des Interpreters abzuschalten. RESUME kann dabei drei syntaktische Formen annehmen:
- RESUME (ohne Parameter) setzt das BASIC-Programm hinter dem fehlerauslösenden Befehl fort. Diese Syntax ist gut geeignet, um ein Programm auf Tippfehler und einfache logische Fehler zu überprüfen. Gedacht für den Programmierer.
- RESUME NEXT setzt das BASIC-Programm in der auf den Fehler folgenden Zeile fort. Diese Syntax sollte man einsetzten, wenn gleich eine ganze Serie von potenziell fehlergefährlichen Befehlen auf einer einzigen Zeile steht, z.B. Druckausgabebefehle.
- RESUME <ausdruck> ist gut, wenn man die fehlerauslösende Programmzeile noch ein weiteres Mal aufrufen möchte, nachdem man die Fehlerursache beseitigt hat, wenn z.B. der Drucker bei einer Druckausgabe nun eingeschaltet ist. In dem Fall setzt man für <ausdruck> einfach ERRLN ein. Gedacht für den Einsatz beim Benutzer.
Beispiel[Bearbeiten | Quelltext bearbeiten]
10 ON ERROR: GOTO 10000 15 PRIN "?CLR/HOME?": PRINT "OK" 20 FOR I=1 TO 6:READ B:PRINT B:NEXT 30 DATA 1,2,3,4,5 40 END 10000 PRINT: PRINT "FEHLER NR." ERRN "(";: OUT: PRINT ")" 10010 PRINT "BETROFFENE ZEILE:" ERRLN: PRINT 10020 PRINT "BEENDEN (B)? FORTSETZEN (F)? ";: FETCH "FB",1,X$: PRINT 10030 IF X$ = "B" THEN PRINT: PRINT "ABBRUCH NACH FEHLER!": STOP 10040 RESUME
Bei einem Programmlauffehler (in Zeile 15 z.B. ist statt "PRINT" fälschlicherweise nur "PRIN" angegeben) springt der Interpreter in die BASIC-Zeile 10000, gibt dort Informationen zum Fehler aus und stellt Handlungsalternativen zur Auswahl.
$$ | %% | AT | CALL | CENTER | CHECK | COLD | COLOR | COPY | CLS | CSET | D! | D!PEEK | D!POKE | DIR | DISK | DISPLAY | DIV | DO | DO NULL | DRAW TO | DUMP | DUP | ELSE | ERROR | EXEC | FETCH | FIND | GRAPHICS | INSERT | INST | JOY | KEY | KEYGET | LIN | MAP | MEMCLR | MEMCONT | MEMDEF | MEMLEN | MEMLOAD | MEMOR | MEMPEEK | MEMPOS | MEMREAD | MEMRESTORE | MEMSAVE | MERGE | MOB ON/OFF | MOBCOL | MOD | MOVE | MULTI | NRM | ON ERROR | ON KEY | OPTION | OUT | PAGE | PAINT | PAUSE | PLACE | RENUMBER | RESUME | RETRACE | SCRLD | SCRSV | SOUND | TEXT | TRACE | USE | WAVE | X!