Frage zu OnError

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
thminz
Beiträge: 84
Registriert: 25.05.2011 16:01
Computerausstattung: Windows XP, Intel Pentium 4 mit 3,2 Ghz, 2 GB RAM, 500 GB, ATI Radeon HD 4200
Wohnort: Köln

Frage zu OnError

Beitrag 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! :)
Immer Aktuelle Purebasic Version!!
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Frage zu OnError

Beitrag 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.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Frage zu OnError

Beitrag 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.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Frage zu OnError

Beitrag von ts-soft »

Aber manchmal verhält es sich wie Windows, stürzt ab ohne Bluescreen :mrgreen:
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.
Bild
Benutzeravatar
thminz
Beiträge: 84
Registriert: 25.05.2011 16:01
Computerausstattung: Windows XP, Intel Pentium 4 mit 3,2 Ghz, 2 GB RAM, 500 GB, ATI Radeon HD 4200
Wohnort: Köln

Re: Frage zu OnError

Beitrag von thminz »

Ahh danke euch. :D
Immer Aktuelle Purebasic Version!!
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Re: Frage zu OnError

Beitrag 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.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Frage zu OnError

Beitrag 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.
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.
Bild
Benutzeravatar
thminz
Beiträge: 84
Registriert: 25.05.2011 16:01
Computerausstattung: Windows XP, Intel Pentium 4 mit 3,2 Ghz, 2 GB RAM, 500 GB, ATI Radeon HD 4200
Wohnort: Köln

Re: Frage zu OnError

Beitrag 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:
Immer Aktuelle Purebasic Version!!
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Frage zu OnError

Beitrag 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.
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.
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Frage zu OnError

Beitrag 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).
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Antworten