Einzelnen Beitrag anzeigen

David Martens

Registriert seit: 29. Sep 2003
205 Beiträge
 
Delphi XE Enterprise
 
#8

Re: Anfänger: Try&except Problem

  Alt 2. Mai 2010, 14:47
Um man auf die Frage erklärend zu antworten:

Delphi-Quellcode:
try
  tu_was
except
  tu_was_anderes
end;
bedeutet: versuchte tu_was, wenn dabei was schief geht (z.B. Division durch Null) dann tu_was_anderes

Delphi-Quellcode:
  try
    // hier kann eigentlich nur Zahl1 / Zahl2 schiefgehen
    // aber was wenn, z.B.: Label nicht inizialisiert worden ist, oder ein anderer Fehler auftritt
    Label1.Caption := 'Ergebnis: ' + FloatToStrF(Zahl1 / Zahl2, ffNumber, 8, 2);
  except
     On E: EZeroDivide do
       Label1.Caption := 'Division durch null. Division nicht möglich';
  end;
Wie in Code schon beschrieben, will man vielleicht auf unterschiedliche Fehler unterschiedlich reagieren/Fehlermeldungen ausgeben.

On E: EZeroDivide do gibt dem Fehler einen Namen 'E' und fragt gleich nach der Art des Fehlers 'EZeroDivide' -> Division durch Null
statt: Label1.Caption := ... kann man dann auf E zugreifen und den Systemfehler direkt ausgeben...

Wie von anderen schon beantwortet kann durch die if Anweisung aber nie der Fehler 'EZeroDivide' auftreten, da du ihn ja schon abfängst. Es reicht also eins der beiden.

Gruß David
  Mit Zitat antworten Zitat