1、打印消息并且退出
代码
/**
* <p>
* Prints out the given exception or message, and then exit.
* </p>
*
* @param printUsage
* the flag indicates whether printing out the usage is needed.
* @param exitCode
* the exit status.
* @param exception
* the exception to print.
* @param message
* the message to print.
*/
private static void printAndExit( boolean printUsage, int exitCode, Throwable exception, String message) {
if (message != null ) {
// Print out the error message
System.out.println(message);
}
if (exception != null ) {
// Print out the exception
exception.printStackTrace(System.out);
}
if (printUsage) {
// Print out the usage to the screen
System.out.println(USAGE_MESSAGE);
}
// Exit
System.exit(exitCode);
}
/**
* <p>
* Prints out the given exception or message, and then exit.
* </p>
*
* @param printUsage
* the flag indicates whether printing out the usage is needed.
* @param exitCode
* the exit status.
* @param exception
* the exception to print.
* @param message
* the message to print.
*/
private static void printAndExit( boolean printUsage, int exitCode, Throwable exception, String message) {
if (message != null ) {
// Print out the error message
System.out.println(message);
}
if (exception != null ) {
// Print out the exception
exception.printStackTrace(System.out);
}
if (printUsage) {
// Print out the usage to the screen
System.out.println(USAGE_MESSAGE);
}
// Exit
System.exit(exitCode);
}
注意上面参数中的exitCode,如果程序正常结束则为0,如果遇到错误,则根据错误码的含义以对应的错误码结束。
2、帮助信息的打印
代码
/**
* <p>
* Represents the usage message.
* </p>
*/
private static final String USAGE_MESSAGE = " Usage: java -jar converter.jar "
+ " [-config=<configFile>] [-countryCode=<CODE1 CODE2 ... CODEN>] [-h|-help] " + LINE_SEP
+ " <configFile> Optional. The file path of the configuration file. "
+ " Default is 'config.properties'. If given, it must be the first parameter. " + LINE_SEP
+ " <CODE1 CODE2 ... CODEN> Optional. One or more country codes separated by white spaces "
+ " for which price files are to be converted. " + LINE_SEP
+ " -h|-help Optional. Prints out this usage message. " ;
* <p>
* Represents the usage message.
* </p>
*/
private static final String USAGE_MESSAGE = " Usage: java -jar converter.jar "
+ " [-config=<configFile>] [-countryCode=<CODE1 CODE2 ... CODEN>] [-h|-help] " + LINE_SEP
+ " <configFile> Optional. The file path of the configuration file. "
+ " Default is 'config.properties'. If given, it must be the first parameter. " + LINE_SEP
+ " <CODE1 CODE2 ... CODEN> Optional. One or more country codes separated by white spaces "
+ " for which price files are to be converted. " + LINE_SEP
+ " -h|-help Optional. Prints out this usage message. " ;