Ich bin gerade an der "Absicherung" meines Konsolenprogramms gegen falsche eingaben.
Mein Programm soll im Regelfall 2 Parameter (positive Integer) nutzen.
Die Hilfeoption soll auch zur Verfügung stehen (-h --help)
Meine Vorgehensweise:
ParamStr(1) und ParamStr(2) dürfen nur die Zeichen '0' bis '9' enthalten.
Gibt man eine falschen Parameter mit '-' am Anfang ein, wird das als Option gewertet und das Programm stürzt ab mit der Fehlermeldung:
(Parameter/Option war -45)
exception at 00000000:
Invalid option at position 1: "4".
Nun find ich diese Fehlermeldung nicht sooo schön und würde gerne selber etwas verständliches ausgeben lassen. Aber leider findet der Absturz statt, bevor meine Überprüfungen überhaupt anfangen.
Wie kann man also alle ausser den vorgegebenen Optionen Abfangen ?
(wie man zusätzliche Optionen erstellen kann, hatte ich mal gefunden ).
Konsolenprogramm Optionen vs. Parameter
-
- Beiträge: 308
- Registriert: Do 9. Apr 2009, 10:10
- OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4)
- CPU-Target: 32Bit
- Wohnort: 785..
Konsolenprogramm Optionen vs. Parameter
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)
Re: Konsolenprogramm Optionen vs. Parameter
Hu?
Kann ich nicht nachvollziehen.
Kann ich nicht nachvollziehen.
-
- Beiträge: 308
- Registriert: Do 9. Apr 2009, 10:10
- OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4)
- CPU-Target: 32Bit
- Wohnort: 785..
Re: Konsolenprogramm Optionen vs. Parameter
Oh ich habs ... Man sollte sich halt nicht auf die Vorgaben verlassen....
Folgende schon vorgegebene Zeilen sind schuldig. Ich hatte weiter unten angefangen bei { add your program here }
Folgende schon vorgegebene Zeilen sind schuldig. Ich hatte weiter unten angefangen bei { add your program here }
Code: Alles auswählen
// quick check parameters
ErrorMsg:=CheckOptions('h','help');
if ErrorMsg<>'' then begin
ShowException(Exception.Create(ErrorMsg));
Terminate;
Exit;
end;
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)