Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Verarbeitung möglich trotz Fehler. Verarbeiten oder nicht? (https://www.delphipraxis.net/90324-verarbeitung-moeglich-trotz-fehler-verarbeiten-oder-nicht.html)

Christian Seehase 15. Apr 2007 14:10


Verarbeitung möglich trotz Fehler. Verarbeiten oder nicht?
 
Moin Zusammen,

ich bin gerade dabei die Fehlerprüfung in einem Programm zu verfeinern, und stolpere dabei über folgendes "Problem":

Wenn eine Zeile bis zu einem bestimmten Punkt gültig ist, kann ich sie verarbeiten, selbst, wenn danach noch ein Fehler auftritt.
Beispiel:

Mit dieser Zeile
Code:
#pragma push_macro("macro_name")
sichert man das Makro "macro_name" auf einen Stack.
Syntaktisch korrekt ist die Zeile erst, wenn die Zeile aussieht, wie gezeigt, und anschliessend, nur noch ein Zeilenende folgt (mal abgesehen von Whitespace).
Verarbeiten könnte ich die Zeile aber schon, wenn sie bis inclusive "macro_name" keinen Fehler aufweist, da dann ja alles da ist, was ich dafür benötige.

Jetzt überlege ich:
Soll ich die Zeile jetzt verarbeiten, und den anschliessenden Fehler melden, oder die gesamte Zeile als fehlerhaft anmeckern, und sie ansonsten ignorieren?

Was meint ihr dazu?

fkerber 15. Apr 2007 14:28

Re: Verarbeitung möglich trotz Fehler. Verarbeiten oder nich
 
Hi!

Wie sieht denn die Verarbeitung aus?

Was ich meine:
Wenn ich ein Programm habe, das bspw. Daten in eine DB soll, dann empfinde ich es immer als störend/irritierend, wenn die Daten teilweise verarbeitet werden, dann abgebrochen wird und ich dann ne Datenbank mit "halben Infos" habe und nicht wirklich weiß, was er getan hat oder nicht.

In einem solchen Fall würde ich mich bspw. freuen, wenn der auszuführende Teil zuerst auf Machbarkeit überprüft wird und erst bei positivem Testergebnis auch wirklich ausgeführt wird.


Hat man eine andere Art der "Verarbeitung" (für die mir leider grad kein Beispiel einfällt), kann es ja evtl. sinnvoll sein, die Sache bis dahin auszuführen...


Hoffe, es ist klar, was ich meine!


Ciao, Frederic

Christian Seehase 15. Apr 2007 14:51

Re: Verarbeitung möglich trotz Fehler. Verarbeiten oder nich
 
Moin Frederic,

es geht um einen C-Präprozessor, der, im wesentlichen, dazu gedacht ist die PSDK-Header zu verarbeiten.
Da die, vereinzelt, auch Macken haben (wie ich schon feststellen konnte ;-)), muss ich dann ja auch die Fehler, möglichst sinnvoll, melden.

Im Gegensatz zu Deinem Beispiel ist es also fast schon schlimmer so eine Zeile nicht zu verarbeiten, da es dann, unter Umständen, Folgefehler hagelt.

Zitat:

Zitat von fkerber
Wenn ich ein Programm habe, das bspw. Daten in eine DB soll, dann empfinde ich es immer als störend/irritierend, wenn die Daten teilweise verarbeitet werden, dann abgebrochen wird und ich dann ne Datenbank mit "halben Infos" habe und nicht wirklich weiß, was er getan hat oder nicht.

Ich hoffe, dass Du dafür kein Beispiel hast, den ich finde, so etwas darf einfach nicht passieren.

yankee 15. Apr 2007 14:57

Re: Verarbeitung möglich trotz Fehler. Verarbeiten oder nich
 
Ich würde Konsequent von hinten nach vorne durchgehen...

Demnach merkst du, dass der Befehl in Ordung ist und führst ihn auch aus. Erst dann prüefst du ob auch nur noch Wehitespcaes/eine Neue Zeile kommen. Ist das nicht der Fall schmeisst du eine "Newline or Whitespcae Expected-Exception", oder wie du es nennen willst.

Zeilenweise durchgehen macht aus menschlicher Sicht zwar Sinn, aber vom Computer aus nichtmehr.
Es ist ja sicher nicht die einzige Zeile aus dem dein prog besteht und wenn, musst du auch alle vorhergehenden Zeilen erst auf Syntaxfehler prüfen, wenn du konseqent sein willst.

fkerber 15. Apr 2007 17:00

Re: Verarbeitung möglich trotz Fehler. Verarbeiten oder nich
 
Hi!

Zitat:

Zitat von Christian Seehase
Zitat:

Zitat von fkerber
Wenn ich ein Programm habe, das bspw. Daten in eine DB soll, dann empfinde ich es immer als störend/irritierend, wenn die Daten teilweise verarbeitet werden, dann abgebrochen wird und ich dann ne Datenbank mit "halben Infos" habe und nicht wirklich weiß, was er getan hat oder nicht.

Ich hoffe, dass Du dafür kein Beispiel hast, den ich finde, so etwas darf einfach nicht passieren.


Leider doch....
Den Namen weiß ich leider nicht mehr, aber es war ein Programm, das Daten aus verschiedenen Quellen (z.B. doc oder xls) anhand verschiedener Parameter in eine bestehende Access-Datenbank eintragen sollte.

Und wenn da in einem Feld mal was komisches drinstand oder auch mal versehentlich nix drin stand, dann kam am Ende alles raus, aber außer Fehlermeldungen und einer zerstückelten DB mit halben Daten, leider nichts sinnvolles!


Ciao, Frederic


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz