Einzelnen Beitrag anzeigen

Propeller

Registriert seit: 18. Nov 2005
Ort: Berlin
9 Beiträge
 
#1

Gibts es Funktionen mit zwei Ergebnistypen!?

  Alt 2. Feb 2007, 18:28
Hallo!

Habe mal eine Frage bzgl. der Eigenschaften von Funktionen!
Gibts es Funktionen, die ein Result eines bestimmten Typs liefern, in Ausnahmefällen jedoch Resulttyp ein anderer sein kann.

Beispiel:

Delphi-Quellcode:
function division(x,y: extended): extended; //result := x/y
begin
  try
    if y=0 then showmessage('Bitte nicht durch Null teilen')
    else
    result := x/y
  except Fehlerbehandlung('Division'); result := 0 End;
end;
Nehmen wir einmal als Beispiel die Funktion f(x)=1/x.
Nun soll er die Funktionswerte von -5 bis 5 berechnen und in ein Memofold eintragen. Bei dem
(un)möglichen Fall 1/0, soll er jedoch nicht eine Zahl als Result liefern, sondern analog zu meinem Taschenrechner in das dazugehörige Feld für den Wert x=0 beispielsweise das Wort 'Error' hinschreiben. 'Error' wäre aber vom typ string und nicht vom geforderten Typ "extended". Gibt es da eine elegante Möglichkeit, einer Funktion in dem Ausnahmefall zu sagen, dass nun das Result vom Typ "string" sein soll?

Mit freundlichen Grüßen,

Propeller
  Mit Zitat antworten Zitat