Seite 1 von 2

BUG? OnError

Verfasst: 01.06.2008 21:39
von Kai
Hallo Community!
Entweder peile ich hier etwas nicht, mach was falsch, oder es ist tatsächlich einfach nur nen Bug. :(

Bei OnErrorGoto möchte ich halt, wofür die Funktion auch gemacht ist, denn Fehler abfangen und das Programm danach fortsetzen.
Das dumme daran ist, und ich verstehe es nicht, sobald ich 'GetErrorDescription()' benutze, beendet das Programm einfach.
Kommentiere ich es aus, wird mein Programm jedoch fortgesetzt.
Was ebenfalls merkwürdig ist, wenn ich 'GetErrorDescription()' mit denn anderen OnError Befehlen wie zb 'GetErrorCounter()' zusammen benutze, wird mir nur der String von 'GetErrorDescription()' ausgegeben, und alles andere verschwindet ins nirvana. :shock:
Weiß jemand Rat, mach ich was falsch oder könnte es wirklich ein BUG sein?

Beispielcode:

Code: Alles auswählen

EnableExplicit

Procedure Error()
 MessageRequester("Error", "Count: "  + Str(GetErrorCounter()) + #CRLF$ + "Number: " + Str(GetErrorNumber()) + #CRLF$ + "Adress: " + Str(GetErrorAddress()) + "Description: " + GetErrorDescription())
 MessageRequester("Error", "Count: "  + Str(GetErrorCounter()) + #CRLF$ + "Number: " + Str(GetErrorNumber()) + #CRLF$ + "Adress: " + Str(GetErrorAddress()))
 MessageRequester("Error", "Description: " + GetErrorDescription()) ;<- Zeile auskommentieren und Programm wird fortgesetzt
EndProcedure

OnErrorGosub(@Error())

Define a.l
Define b.l
Define c = a/b

MessageRequester("Error", "Error ignored!")
Achso, ob man unter Compiler Optionen 'OnError Unterstützung einschalten' aktiviert oder nicht bleibt sich gleich.
Gleiches Ergebnis.

EDIT:
OK, Punkt 2 kann man so lösen..

Code: Alles auswählen

EnableExplicit

Procedure ErrorHandler()
 Protected ErrorMsg.s = GetErrorDescription()
 
 MessageRequester("Fehler", "Count: " + Str(GetErrorCounter()) + #CR$ + "Adress: " + Hex(GetErrorAddress()) + #CR$ + "Line: " + Str(GetErrorLineNR()) + #CR$ + "Number: " + Str(GetErrorNumber()) + #CR$ + #CR$ + ErrorMsg, #MB_ICONERROR)
EndProcedure

OnErrorGosub(@ErrorHandler())

Define a.l, b.l: a/b

MessageRequester("OK", "")

Verfasst: 01.06.2008 21:57
von ZeHa
Ich benutz zwar noch PB 4.1, aber da funktioniert Dein Programm ohne Probleme.

Verfasst: 02.06.2008 01:21
von freak

Verfasst: 02.06.2008 02:22
von Danilo
Ist das ein Bugfix für v4.20 Final? (In Kais Signatur steht er hat PB4.20)

Anregung:
Wäre schön wenn man solche Bug-/Hotfixes irgendwo offiziell bekommen
könnte, z.B. http://www.purebasic.com/update/ oder eine Hotfix-Section
im Useraccount. Irgendwas Offizielles halt, zentral über purebasic.com
erreichbar.

Begründung:
Wer keine Foren liest (oder nicht alle Beiträge), der verpasst so den Hotfix -
ich habe das hier jetzt auch nur zufällig gesehen.
Eine offizielle und zentrale Anlaufstelle dafür macht es für alle Leute einfacher.

Verfasst: 02.06.2008 16:06
von BI2
Da kann ich mich nur anschließen - gabs auch schonmal unter:

http://www.purebasic.fr/german/viewtopi ... 783#191783

Bitte macht doch was zentrales.

Gruß, BI2

Verfasst: 02.06.2008 17:52
von Kai
Für sowas gibt es doch eigentlich unter http://www.purebasic.com/beta/ extra einen downloadbereich, wieso landet es dann nicht dort wenn hotfixes erscheinen.

Verfasst: 02.06.2008 22:29
von Falko
Es existiert sogar ein Update-Verzeichnis mit den Ordner aller OS's ,
aber dort wird nichts gepostet :(

http://www.purebasic.com/update/

Das Betaverzeichnis ist eigentlich für weitere Betaversionen, bsp.: PB 4.3beta, gedacht.



Gruß, Falko

Verfasst: 02.06.2008 22:46
von freak
http://www.purebasic.com/update/windows/OnError

Da war der download nur zunächst nicht zu finden, weil Fred nicht da war als ich es gefixt habe.

Verfasst: 02.06.2008 23:02
von THEEX
Vielleicht sollte man doch mal hin gehn und auf der offiziellen Homepage links für Bugfixes reinsetzen, aber das wäre ja mit etwas Mehrarbeit verbunden...

Verfasst: 03.06.2008 22:13
von Kai
Falko hat geschrieben:Es existiert sogar ein Update-Verzeichnis mit den Ordner aller OS's ,
aber dort wird nichts gepostet :(

http://www.purebasic.com/update/

Das Betaverzeichnis ist eigentlich für weitere Betaversionen, bsp.: PB 4.3beta, gedacht.



Gruß, Falko
Toll mal zu wissen.. gibt es noch mehr versteckte Verzeichnisse? :?