AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bitte Warning erklären

Ein Thema von Shark99 · begonnen am 9. Dez 2010 · letzter Beitrag vom 9. Dez 2010
Antwort Antwort
Seite 2 von 2     12   
Shark99

Registriert seit: 16. Mai 2007
403 Beiträge
 
#11

AW: Bitte Warning erklären

  Alt 9. Dez 2010, 20:36
@stahli

Es ist klar dass das System inkonsitenz wird. Aber durch die Exceptions ist es besser, weil das Programm dann nur "nicht funktioniert" anstatt Amok zu laufen.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#12

AW: Bitte Warning erklären

  Alt 9. Dez 2010, 20:38
@stahli: Aber jetzt stell dir mal vor, dass immer eine TStringList erzeugt und dann mit Daten befüllt wird. Irgendwann kracht das ganze und der Speicher wird nicht freigegeben. In kleinen Anwendungen ist das wahrlich kein Problem, aber bei großen, die auch nicht nur mal schnell ausgeführt und wieder geschlossen werden, spielt sowas sehr wohl eine Rolle. Da der Speicher immer voller wird und es gibt eben nicht unendlich Speicher, auch wenn ich das immer gerne hätte Daher einfach von Anfang an sauber programmieren. Klar, es gibt immer auf das Aufwand/Nutzen-Verhältnis an, gewöhnt man sich aber daran, dann sind auch mal größere Projekte absolut kein Problem und man steht eben auf der sicheren Seite. Aber ich weiß, Informatiker sind bekanntermaßen faul -- meine Person natürlich mit eingeschlossen

Und zum Theme Inkonsistenz: Naja, durch Exception-Verwendung soll ja genau das verhindert werden. Siehe DeddyH:
Zitat:
[edit] Achja, Exception-Handling ist ja nicht dazu gedacht, mögliche Fehlerquellen nicht im Vorfeld ausschließen zu müssen, sondern eher dazu, auf Fehler reagieren zu können, die nicht vorhersehbar sind (Hardwaredefekt, volle Festplatte oder sowas). [/edit]
Durch Exception-Handling baust du ja gerade Code ein, der das System konsistent hält.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
KrasserChecker

Registriert seit: 21. Jul 2004
120 Beiträge
 
#13

AW: Bitte Warning erklären

  Alt 9. Dez 2010, 21:16
Für mich ist folgendes Konstrukt eigentlich der übersichtlichste und sauberste Weg um das Bsp von sahli umzusetzen.
Delphi-Quellcode:
var
  list1: TStringList;
  list2: TStringList;
begin
  list1:=nil;
  list2:=nil;
  try
    list1 := TStringList.Create;
    list2 := TStringList.Create;
  
    ...
  finally
    list1.free;
    list2.Free;
  end;
es sei denn man macht das hier:

Delphi-Quellcode:
var
  list1: TStringList;
  list2: TStringList;
  ol: TObjectList;
begin
  ol := TObjectList.Create;
  try
    list1 := TStringList.Create; ol.Add(list1);
    list2 := TStringList.Create; ol.Add(list2);
  
    ...
  finally
    ol.free;
  end;
was ich ja übersichtlicher finde.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#14

AW: Bitte Warning erklären

  Alt 9. Dez 2010, 21:24
Ist ein interessanter Ansatz, das stimmt! Aber so hast du mehr Speicherverwaltung und die CPU wird "stärker" belasetet, wobei sowas wahrlich ziemlich relativ ist. Ich bevorzuge die einfachste Lösung, da es so für andere auch verständlicher ist, imho.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 11:59 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