Einzelnen Beitrag anzeigen

TPok

Registriert seit: 19. Jul 2004
Ort: Eisenach
25 Beiträge
 
Delphi 2005 Professional
 
#4

Re: Guter Stil oder 'Wie programmiere ich vernünftig?'

  Alt 18. Apr 2006, 23:56
Hallo,

Zitat von Luckie:
Zum ersten Fall:
Ich werfe in so einem Fall eine Exception, dich ich dann im Aufrufer abfange.
Da fallen mir dann 2 Realisierungsmöglichkeiten ein. Angenommen ich lagere so eine Abarbeitung in eine eigene Prozedur aus und im Fehlerfall werfe ich eine Exception. Wenn ich jetzt die einzelnen Fehler unterscheiden möchte, könnte ich entweder verschiedene Exception-Typen ableiten und verwenden oder einen Typ und die Art des Fehlers dann in der Message der Exception hinterlegen.
Eingene Exception-Typen wärend da sauberer wegen einer möglichen Behandlung durch:
Delphi-Quellcode:
except
  on ... do
  on ... do
Richtig?

Zitat von Luckie:
Zum zweiten Fall:
Brauche ich meherer Objekte, erstelle ich alle Objekte gleich am Anfang und gebe sie auch alle im gleichen finally-Block wieder frei.
Kann nicht auch z.B. die Erstellung des 3. Objektes fehlschlagen? Das wäre dann nicht abgefangen. Ich meine unter .NET hat man ja immernoch den Garbage Collector als Sicherheitsnetz...

Zitat von jbg:
Alternativ kannst du auch alle Variablen vor dem ersten try auf NIL setzen...
Jetzt muß ich nochmal dumm nachfragen. Sind Objektvariablen direkt nach der Deklaration ohne vorherige Verwendung nicht immer mit NIL initialisiert?


Dazu fällt mir noch eine Frage ein:
Wenn ich mir z.B. im MSDN .NET-Beispielcode anschaue (meist in C#), werden da ja eigentlich nie Destruktoren aufgerufen. Also sowas wiw Free bzw. FreeAndNil. Bei Forms und einigen wenigen Sachen gibts zwar ein Dispose, aber auch das wird nie explizit aufgerufen. Lassen die alles über den Garbage Collector aufräumen? Sind wir Delphianer die auberen Programmierer? Und kann ich bei Objekten, die kein Dispose anbieten den Aufruf von Free auch einfach weglassen, weil dieser sowieso nix macht?

Gruß,
Stephan
Stephan Fietzek
  Mit Zitat antworten Zitat