Seite 1 von 2

Frage zu OnError

Verfasst: 10.06.2011 21:02
von thminz
Moin! :) Ich bin es wieder und habe diesmal eine Frage zu OnError. Wenn ich in meinen Projekt OnError aktiviere um bei einem Absturz wichtige Infos zu bekommen gibt es da vielleicht Nachteile in der Laufzeit ? Wird mein Programm vielleicht dadurch etwas langsamer oder kann man OnError problemlos aktivieren ohne Leistungsabfall ? Danke im Vorraus! :)

Re: Frage zu OnError

Verfasst: 10.06.2011 21:05
von NicTheQuick
Es wird nicht langsamer. Es werden nur mehr Informationen in die Executable 'rein gepackt, weshalb sie etwas größer wird als ohne onError.

Re: Frage zu OnError

Verfasst: 10.06.2011 21:25
von STARGÅTE
OnError unterscheidet sich der Art von dem Debugger, dass der Debugger halt "vor" dem Fehler versucht den Fehler abzufangen -> Programm langsammer.
Bei OnError kommt es ja trotzdem zu Fehler, nur werden halt danach (wie NTQ schon sagte) mehr Infos ausgegeben (wenn du es einbaust), anstatt eines einfachen Absturzes.

Re: Frage zu OnError

Verfasst: 10.06.2011 21:42
von ts-soft
Aber manchmal verhält es sich wie Windows, stürzt ab ohne Bluescreen :mrgreen:

Re: Frage zu OnError

Verfasst: 11.06.2011 22:52
von thminz
Ahh danke euch. :D

Re: Frage zu OnError

Verfasst: 18.06.2011 18:26
von remi_meier
:o

Es wird langsamer! Es wird bei jeder Codezeile
ein implizites

Code: Alles auswählen

_PB_LineNumber = #PB_Compiler_Line
mit kompiliert, also pro Zeile Code eine Zuweisung zu
einer Variable.
Das kann eine rechenintensive Schleife doch ganz schön
ausbremsen.

Re: Frage zu OnError

Verfasst: 18.06.2011 18:40
von ts-soft
remi_meier hat geschrieben:Es wird langsamer!
Aber nur wenn die OnError-Unterstützung in den CompilerOptionen aktiviert wird. Die Lib funktioniert
ja auch ohne diese Aktivierung, lediglich die Fehler-Zeilennummer läßt sich nicht feststellen.
Dann wird die Exe nur min. größer, was auf die Geschwindigkeit kaum Einfluss haben sollte.

Re: Frage zu OnError

Verfasst: 18.06.2011 18:48
von thminz
WTF! :o Danke remi für das richtig stellen. :D

tssoft: Wenn man Onerror in den Compiler Optionen nicht aktiviert dann ist das doch sinnlos! Ich benutze doch deswegen Onerror um die Zeilennummer bei einem Absturz zu bekommen alles andere ist nicht nachvollziehbar wo der Fehler entstand! :freak:

Re: Frage zu OnError

Verfasst: 18.06.2011 18:57
von ts-soft
Die meisten Fehler wird man mit dem Debugger beseitigen. Bei der OnError Lib geht es ja nicht nur
darum, den Fehler zu finden, sondern auch den Fehler abzufangen um größeren Schaden zu vermeiden.

Re: Frage zu OnError

Verfasst: 18.06.2011 19:09
von STARGÅTE
Wenn dein Code OnError braucht, da "oft" Fehler kommen, dann ist er eh noch nicht bereit veröffendlicht zu werden.
Somit ist auch die Geschwindigkeit egal.
OnError ersetzt nicht den Debugger!

Zitat:
Diese Bibliothek kann mit Hilfe der Befehle ErrorFile() und ErrorLine() Informationen über die Quellcode-Datei und die Zeile, bei der der Fehler auftrat, liefern. Allerdings nur, wenn dieses Feature während des Kompilierens aktiviert wurde (es verursacht eine sehr geringe Verlangsamung der Ausführungsgeschwindigkeit, um die Zeilennummern zu beobachten).