Autor Thema: Fehlerbehandlung und GoTo-Anweisung  (Gelesen 1394 mal)

Offline Dubidu

  • Aktives Mitglied
  • ***
  • Beiträge: 168
  • Geschlecht: Männlich
  • Eins, zwei, drei - eierlei!
Fehlerbehandlung und GoTo-Anweisung
« am: 18.03.08 - 16:06:29 »
Hallo ihr Lieben! :)
Ich eigne mir gerade die Basics von LotusScript an und bin auf ein seltsames Beispiel in einem LotusScript-Buch gestoßen:

Code
Sub OneTwoThree
	Dim num As Integer
	On Error Goto OutOfRange
	
EnterNum:
	num = Cint(Inputbox("Bitte geben Sie 1, 2 oder 3 ein"))
	On num Goto label1, label2, label3
	
	'der Benutzer trug 1, 2 oder 3 nicht ein, aber ein Laufzeitfehler trat auch nicht auf
	' (es war eine Zahl im Bereich 0 - 255).
	
	Messagebox "Sie haben keinen zulässigen Wert eingegeben! Bitte noch einmal!!"
	
	Goto EnterNum
	
label1:
	Messagebox "Sie haben 1 eingegeben"
	Exit Sub
	
label2:
	Messagebox "Sie haben 2 eingegeben"
	Exit Sub
	
label3:
	Messagebox "Sie haben 3 eingegeben"
	Exit Sub
	
	'Ein Fehler ist aufgetreten.
	
OutOfRange:
	Messagebox |Der eingegebene Wert ist entweder negativ,
größer als 255 oder keine Zahl. Versuchen Sie es wieder!|
	Goto EnterNum
End Sub

Zuerst wollte ich nicht glauben, dass der Code funktionieren soll und tippte es eifrig ab. Zu meiner Überraschung lief der Code einwandfrei.

Meine Frage ist, wie das kleine Progrämmchen denn erkennen kann, welche Zahl ich eingetippt habe und was es mit "On num Goto label1, label2, label3" genauer auf sich hat.

Außerdem frage ich mich, wie es erkennen kann, dass die Eingabe nicht in dem Bereich von 0 - 255 ist (Integer hat doch 'nen viel größeren Wertigkeitsbereich!)

Ich habe schon in der Designer-Hilfe nachgeschaut und musste feststellen, dass genau derselbe Code mit denselben Erklärungen enthalten ist. Scheinbar hat der Autor nur abgeschrieben...

Liebe Grüße
Giordano

klaussal

  • Gast
Re: Fehlerbehandlung und GoTo-Anweisung
« Antwort #1 am: 18.03.08 - 16:10:59 »
In der Designer-Hilfe steht auch die Lösung:

Zitat
A numeric expression whose value determines which of the labels is the target of the transfer of control. The value of numExpr must not exceed 255.

Offline Dubidu

  • Aktives Mitglied
  • ***
  • Beiträge: 168
  • Geschlecht: Männlich
  • Eins, zwei, drei - eierlei!
Re: Fehlerbehandlung und GoTo-Anweisung
« Antwort #2 am: 18.03.08 - 16:32:42 »
Danke, jetzt habe ich es auch gefunden! :)

Liebe Grüße
Giordano

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz