AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Verarbeitung möglich trotz Fehler. Verarbeiten oder nicht?
Thema durchsuchen
Ansicht
Themen-Optionen

Verarbeitung möglich trotz Fehler. Verarbeiten oder nicht?

Ein Thema von Christian Seehase · begonnen am 15. Apr 2007 · letzter Beitrag vom 15. Apr 2007
Antwort Antwort
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#1

Verarbeitung möglich trotz Fehler. Verarbeiten oder nicht?

  Alt 15. Apr 2007, 15:10
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?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

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

  Alt 15. Apr 2007, 15:28
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
Frederic Kerber
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#3

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

  Alt 15. Apr 2007, 15:51
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 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.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#4

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

  Alt 15. Apr 2007, 15:57
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.
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#5

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

  Alt 15. Apr 2007, 18:00
Hi!

Zitat von Christian Seehase:
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
Frederic Kerber
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 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