 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Keks
Anmeldungsdatum: 03.11.2007 Beiträge: 156 Wohnort: Dose
|
Verfasst am: 10.04.2008, 21:12 Titel: ON ERROR GOTO... wie nochmal zurück? |
|
|
Wie kann ich wenn ein Fehler erscheint fortfahren?
Brauche das unbedingt, weil QuickBasic meint eine Datei wäre zuende obwohl sie das gar nicht ist... _________________ RUN "brain.exe"
Datei nicht gefunden |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 10.04.2008, 21:34 Titel: |
|
|
wenn qb das meint, dann stimmt das auch (es sei dem, sie enthält ein CHR(26), wobei sich in diesem fall sowieso das binäre einlesen empfiehlt)... Ich hab dir doch schon mehrmals gesagt, dass QB eine super online-hilfe hat, warum benutzt du die nicht?!
Einfach F1 auf "error" und schon kommt dieser text:
Code: | ERROR-Anweisung Programmierbeispiel
Dieses Beispiel benutzt eine ERROR-Anweisung in der Fehlerbehandlungsroutine
Behandler, um einen Benutzereingabefehler abzufangen.
Hinweis: Sie müssen eine Textdatei benutzen, wenn Sie dieses Beispiel
laufen lassen wollen. Benutzen Sie eine Textdatei, die Sie schon
erzeugt haben, erzeugen Sie eine Datei mit dem Texteditor oder
spezifizieren Sie die LIESMICH.DOC Textdatei.
ON ERROR GOTO Behandlung
OeffneDatei:
INPUT "Name der zu aktualisierenden Datei"; DateiName$
IF DateiName$ = "" THEN END
OPEN DateiName$ FOR INPUT AS #1
PRINT "Die ersten fünf Zeilen von "; DateiName$;" sind:" : PRINT
FOR I = 1 TO 5
LINE INPUT #1, Temp$
PRINT Temp$
NEXT
PRINT : INPUT "Ist dieses die richtige Datei"; R$
'Definiert Fehler 200.
IF LEFT$(R$,1) <> "j" THEN ERROR 200
END
Behandlung: 'Fehlerbehandlungsroutine.
Nummer = ERR
'Wenn Programm einen Laufzeitfehler "Datei nicht gefunden" erzeugt,
'wird eine spezielle Meldung ausgegeben und der Benutzer wird
'aufgefordert, eine neue Datei Spezifikation oder das Ende des
'Programms einzugeben.
IF Nummer = 53 THEN
CLOSE #1
PRINT "Die Datei ist nicht in diesem Verzeichnis"
PRINT "Einen neuen Dateinamen eingeben ([d:]\xxx\...\xxx) oder"
PRINT "<EINGABETASTE> betätigen, um das Programm zu beenden"
RESUME OeffneDatei
ELSEIF Nummer = 200 THEN 'Benutzereingabe "n".
CLOSE #1
RESUME OeffneDatei
ELSE
ERROR Nummer 'Anderer Fehler als 53 oder 200.
ON ERROR GOTO 0 'Meldung ausgeben, Fehlerbehandlung
END IF 'aufheben und Programm stoppen. |
_________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Keks
Anmeldungsdatum: 03.11.2007 Beiträge: 156 Wohnort: Dose
|
Verfasst am: 10.04.2008, 21:38 Titel: |
|
|
nun ja mein Script:
Code: | open "I", #1, datei$
num=1
do
input #1, isword$, devil$, othlang$
loop until eof(1)
close #1 |
Erste Zeile meiner Datei: 36496, 31234, 1231 (Da tritt das Problem auf)
Besonderheit: Er schafft es bis ca. 15 Datensätze (die werden auch ausgegeben, hier entfernt), bevor der Error kommt.
Zweite Besonderheit: Bei einer anderen Datei, exakt die selbe erste Zeile, tritt der Fehler eben nicht auf.
EDIT: Hmm er geht doch weiter durch, habe irgendwas beim counter falsch gemacht. Fehler unten gefunden _________________ RUN "brain.exe"
Datei nicht gefunden |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 10.04.2008, 22:04 Titel: |
|
|
lass dir einfach ausgeben, WAS er ausliest, dann siehst du auch gazn schnell, WARUM er falsch ausliest. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Keks
Anmeldungsdatum: 03.11.2007 Beiträge: 156 Wohnort: Dose
|
Verfasst am: 10.04.2008, 22:21 Titel: |
|
|
Hatte halt ein Komma zu viel. _________________ RUN "brain.exe"
Datei nicht gefunden |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|