Feature #219
openRückgabewerte von Kommandozeilenprogrammen vereinheitlichen
10%
Description
Momentan geben die meisten Programme nur 0 (ok) oder 1 (error) zurück - wenn
überhaupt. Für die Skript-Programmierung wäre es aber nützlich, wenn die
einzelnen Fehlerarten genauer unterschieden würden. Dies sollte Toolkit-weit
einheitlich passieren.
Vorschlag: Konstanten in einem Headerfile in ofstd/include
definieren, etwa RETCODE_SUCCESS, RETCODE_ERROR, ...
Das ganze sollte dann natürlich auch in den "man pages" dokumentiert werden.
=== Nachtrag JR (2010-06-17) ===
Für den Storage Commitment SCU habe ich momentan folgende "Exit Codes" vorgesehen:
/* exit codes for this command line tool */ /* (EXIT_SUCCESS and EXITCODE_FAILURE are system-dependent standard codes) */ #define EXITCODE_NO_ERROR 0 #define EXITCODE_COMMANDLINE_SYNTAX_ERROR 1 // this code is the default for printError() #define EXITCODE_CANNOT_READ_INPUT_FILE 20 #define EXITCODE_NO_INPUT_FILES 21 #define EXITCODE_INVALID_INPUT_FILE 22 #define EXITCODE_NO_VALID_INPUT_FILES 23 #define EXITCODE_INVALID_OUTPUT_DIRECTORY 24 #define EXITCODE_CANNOT_WRITE_OUTPUT_FILE 40 #define EXITCODE_CANNOT_WRITE_REQUEST_FILE 41 #define EXITCODE_CANNOT_WRITE_RESPONSE_FILE 42 #define EXITCODE_CANNOT_WRITE_TRANSACTION_FILE 43 #define EXITCODE_CANNOT_INITIALIZE_NETWORK 60 #define EXITCODE_CANNOT_NEGOTIATE_ASSOCIATION 61 #define EXITCODE_CANNOT_SEND_REQUEST 62 #define EXITCODE_CANNOT_WAIT_FOR_RESPONSE 63
Es sollten zumindest die Exit Code-Gruppen 0-19, 20-39, 40-59, 60-79 usw. DCMTK-weit vereinheitlicht werden, damit der Anwender weiß, ob ein allgemeiner, Datei-Eingabe-, Datei-Ausgabe- oder Netzwerk-Fehler aufgetreten ist.
Updated by Michael Onken about 13 years ago
Ein Vorschlag wäre wie oben angedeutet, die Gruppen "Input, Output, Networking, Processing" zu machen.
Updated by Jörg Riesmeier over 7 years ago
- Category set to Library and Apps
- % Done changed from 0 to 10
With commit a61a90c, common exit codes are now defined in "ofstd/include/ofexit.h".