In Pascal programmieren, wie lass ich bei einem EConvertError etwas ausgeben?

1 Antwort

Du kannst mit TryStrToFloat arbeiten. Den Fehler würdest durch also mittels if-then-else abfangen.

Andernfalls gibt es try-except:

try
  number := StrToFloat(inputField.Text);
except
  on ex : Exception do
    ShowMessage(ex.Message);
end;

Wenn in dem Kontext von try ein unbehandelter Ausnahmefall ausgelöst wird (ein String, der nicht zu einer Zahl konvertiert werden kann, wäre ein solcher), springt der Code in den Kontext von except und prüft, ob dieser einen Block enthält (on), der ihn behandelt.

Ein weiteres Beispiel findest du auch in der Dokumentation für die Methode StrToFloat.

Exception ist hier die Basisklasse für alle Exceptions, die so vorkommen können. Wenn es eine konkretere Subklasse zu dieser gibt, die den Fehler besser beschreibt, solltest du diese nutzen. Hierfür müsstest du aber selbst einmal mehr recherchieren.

Roniner 
Fragesteller
 31.05.2018, 20:38

Sehr hilfreich und gut erklärt, danke!:)

0