如何在显示错误消息后退出简单java程序的控制台?目前我的代码有:
... ... if (some condition){ //print error System.exit(); ... ...
但是这个 System.exit(); 使控制台保持打开状态。我试过了 exit(0); , System.exit(0); 也。
System.exit();
exit(0);
System.exit(0);
1tuwyuhd1#
System.exit(1); 应该很管用。请注意,如果退出时出现错误,通常会设置非零退出代码。从文件中:参数用作状态代码;按照惯例,非零状态码表示异常终止。这意味着您可以使用通用约定编写脚本,生成程序的任何进程都可以做出相应的React等。
System.exit(1);
w80xi6nr2#
system.exit();终止jvm。int是状态码(0表示“正常”退出)。如果它没有退出,那是因为代码的那部分是不可访问的,根本没有被执行。javaapi-system.exit()
hi3rlvi23#
java.lang.System 没有一个 exit 方法没有参数,所以 System.exit(); 可能是编译错误( System.exit(1); )代码无法工作的原因可能是您没有重新编译它,所以您仍然在运行添加该行之前的某个旧版本。
java.lang.System
exit
5jdjgkvh4#
假设您正试图从java安装firefox.bat文件
public static void main(String[] args) throws InterruptedException { try { String[] command = { "cmd.exe", "/C", "Start", "C:\\firefox.bat" }; Runtime.getRuntime().exec(command).waitFor(); } catch (Exception e) { System.out.println("Execution error"); } }
这将触发命令提示符,窗口将被打开,直到您在安装firefox后手动关闭它。修复方法是,在您的.bat文件中,在您的命令刚输入“exit”之后,例如:您的firefox.bat将包含@启动/等待“firefox”“c:\firefox setup 41.0.exe”-ms出口这将关闭命令提示符窗口。希望这有帮助。。。
14ifxucb5#
看看下面的链接http://www.cs.bris.ac.uk/jot/decisions/exercise11/exit.html程序必须返回退出代码是一个通用约定。退出代码应为零表示成功,非零表示失败。平台对于不同的非零代码的含义有所不同,因此程序员通常只返回1作为失败的一般指示。
okxuctiv6#
如果您想关闭应用程序正在运行的命令提示符窗口,那么我不认为有办法做到这一点(至少不是很好)。为什么要从命令提示符启动应用程序,然后关闭现有的命令提示符窗口?这肯定会消除您正在输出的错误消息(除非它也正在被记录-在这种情况下,为什么要将它打印到您要关闭的窗口?)。这是特定于windows的,但在windows资源管理器中创建快捷方式 java -jar MyJarFile.jar 或者 java MyCompiledClass 你想要什么?关于这种方法的说明可以在这里找到。
java -jar MyJarFile.jar
java MyCompiledClass
kzmpq1sx7#
如果我理解正确,您希望在命令提示符下运行程序,如果程序失败,您希望它显示错误消息,关闭程序和commad提示符窗口?如果是这样的话,那么我唯一能想到的就是在一个批处理文件中运行程序,这个批处理文件检查程序的退出状态。所以在你的代码中写下你的错误信息,然后我建议睡眠几秒钟,这样用户就可以看到它,然后用状态码1退出。
if(SomeCondition){ System.err.println("ERROR MESSAGE..."); Thread.sleep(3000);//Sleep for 3 seconds... System.exit(1); }
然后从检查“errorlevel”环境变量的批处理文件运行程序。
java <INSERT_PROGRAM_NAME> IF %ERRORLEVEL% == 1 exit
希望这有帮助:)
7条答案
按热度按时间1tuwyuhd1#
System.exit(1);
应该很管用。请注意,如果退出时出现错误,通常会设置非零退出代码。从文件中:参数用作状态代码;按照惯例,非零状态码表示异常终止。
这意味着您可以使用通用约定编写脚本,生成程序的任何进程都可以做出相应的React等。
w80xi6nr2#
system.exit();终止jvm。int是状态码(0表示“正常”退出)。如果它没有退出,那是因为代码的那部分是不可访问的,根本没有被执行。
javaapi-system.exit()
hi3rlvi23#
java.lang.System
没有一个exit
方法没有参数,所以System.exit();
可能是编译错误(System.exit(1);
)代码无法工作的原因可能是您没有重新编译它,所以您仍然在运行添加该行之前的某个旧版本。5jdjgkvh4#
假设您正试图从java安装firefox.bat文件
这将触发命令提示符,窗口将被打开,直到您在安装firefox后手动关闭它。
修复方法是,在您的.bat文件中,在您的命令刚输入“exit”之后,例如:
您的firefox.bat将包含
@启动/等待“firefox”“c:\firefox setup 41.0.exe”-ms
出口
这将关闭命令提示符窗口。希望这有帮助。。。
14ifxucb5#
看看下面的链接
http://www.cs.bris.ac.uk/jot/decisions/exercise11/exit.html
程序必须返回退出代码是一个通用约定。退出代码应为零表示成功,非零表示失败。平台对于不同的非零代码的含义有所不同,因此程序员通常只返回1作为失败的一般指示。
okxuctiv6#
如果您想关闭应用程序正在运行的命令提示符窗口,那么我不认为有办法做到这一点(至少不是很好)。
为什么要从命令提示符启动应用程序,然后关闭现有的命令提示符窗口?这肯定会消除您正在输出的错误消息(除非它也正在被记录-在这种情况下,为什么要将它打印到您要关闭的窗口?)。
这是特定于windows的,但在windows资源管理器中创建快捷方式
java -jar MyJarFile.jar
或者java MyCompiledClass
你想要什么?关于这种方法的说明可以在这里找到。kzmpq1sx7#
如果我理解正确,您希望在命令提示符下运行程序,如果程序失败,您希望它显示错误消息,关闭程序和commad提示符窗口?
如果是这样的话,那么我唯一能想到的就是在一个批处理文件中运行程序,这个批处理文件检查程序的退出状态。所以在你的代码中写下你的错误信息,然后我建议睡眠几秒钟,这样用户就可以看到它,然后用状态码1退出。
然后从检查“errorlevel”环境变量的批处理文件运行程序。
希望这有帮助:)