TurboBASIC Handbuch Seite 49


ERR wid ERL


Variablen


Definition:Gibt die Fehlernunner und die Nunner der Zeile, in der ein Fehler aufgetreten ist.

Versicn ATARI BASIC Turbo BASIC Compiler

***

Syntax : ERR=feh 1 ernunner ERL=fehlerzei le

Armerkung :ERR ist die verkürzte Schreibweise für DPEEK(l95); die Adresse, in der die Fehlernurmer gespeichert wird.

ERL ist die verkürzte For'n für FEEK(1B6)+256*PEEK(187) oder einfach DPEEK(186). Dies ist die Adresse, in der die ZeilennLrrmer gespeichert wird, wenn ein Fehler festgestellt wird.

ERR und ERL lassen sich sehr gut in TRAP-Routinen benutzen. Beispiel :READY

10 TRAP #FEHLER

20 LPRINT ,,Dies wird auf dem Drucker ausgegeben."

30 END

100 #FEHLER

110 IF ERR=138 THEW PRINT ,,Der Drucker ist nicht ONLINE."

120 PRINT Der Fehler trat in Zeile ,,;ERL;" auf."

130 RUN


Falls ein Fehler auftritt (im obenstehenden Beispiel, wenn der Drucker nicht auf ONLINE gestellt ist), wird das Prograim nicht unterbrochen, sondern durch TRAP zu der mit FEHLER benannten Zeile 100 geleitet. Hier wird eine Fehleriiieldung angezeigt und das Prograim erneut gestartet.



EXEC

Prograiminstruktion


Definition:Springt in eine Prozedur (unterprograim), die einen bestirmten Neien trägt.

Version :ATARI BASIC Turbo BASIC Cooipiler

*** ***

Syntax :EXEC neme

Arvnerkung :n,,,ie ist der Naie der Prozedur


EXEC ist vergleichbar mit GOSUB. Die Anweisungen GOSUB und RETURN können ein Unterprograim jedoch nur über eine Zeilennunner aufrufen, während EXEC name dies mit einem Namen bewerkstelligt, den man frei wählen und gut behalten kann. Wenn sich viele Unterprograime (Subroutinen) in einem Prograim befinden, verliert man bei ausschlieBlicher Verwendung von Zeilennunnern schnell den Überblick. Zeilennunnern haben auBerdem den Nachteil, daB bei einer Neuordnung des Prograims alle GOSUB-Anweisungen geändert werden müssen

Zudem braucht eine EXEC-PROC-ENDPROC-Konstruktion weniger Speicherplatz und arbeitet schneller als GOSUB-RETURN.

Die Prozedurnanien werden genauso wie die Variablennaiien verwaltet. Jeder Name# braucht 8 Bytes plus 1 Byte für jedes Zeichen. Die Zeilennunner von einem GOSUB verbraucht dagegen nur 7 Bytes.


Turbo BASIC ist zwar konipatibel zu ATARI BASIC, es können aber 25 statt nur 128 Variablen oder Prozedurnaiien benutzt werden.