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!
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.
Aber manchmal verhält es sich wie Windows, stürzt ab ohne Bluescreen
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
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.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
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!
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.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
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).