如何退出启动java应用程序的windows命令提示符

r6hnlfcb  于 2021-07-09  发布在  Java
关注(0)|答案(7)|浏览(373)

如何在显示错误消息后退出简单java程序的控制台?
目前我的代码有:

...
...
if (some condition){
//print error
System.exit();
...
...

但是这个 System.exit(); 使控制台保持打开状态。我试过了 exit(0); , System.exit(0); 也。

1tuwyuhd

1tuwyuhd1#

System.exit(1); 应该很管用。请注意,如果退出时出现错误,通常会设置非零退出代码。从文件中:
参数用作状态代码;按照惯例,非零状态码表示异常终止。
这意味着您可以使用通用约定编写脚本,生成程序的任何进程都可以做出相应的React等。

w80xi6nr

w80xi6nr2#

system.exit();终止jvm。int是状态码(0表示“正常”退出)。如果它没有退出,那是因为代码的那部分是不可访问的,根本没有被执行。
javaapi-system.exit()

hi3rlvi2

hi3rlvi23#

java.lang.System 没有一个 exit 方法没有参数,所以 System.exit(); 可能是编译错误( System.exit(1); )代码无法工作的原因可能是您没有重新编译它,所以您仍然在运行添加该行之前的某个旧版本。

5jdjgkvh

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
出口
这将关闭命令提示符窗口。希望这有帮助。。。

14ifxucb

14ifxucb5#

看看下面的链接
http://www.cs.bris.ac.uk/jot/decisions/exercise11/exit.html
程序必须返回退出代码是一个通用约定。退出代码应为零表示成功,非零表示失败。平台对于不同的非零代码的含义有所不同,因此程序员通常只返回1作为失败的一般指示。

okxuctiv

okxuctiv6#

如果您想关闭应用程序正在运行的命令提示符窗口,那么我不认为有办法做到这一点(至少不是很好)。
为什么要从命令提示符启动应用程序,然后关闭现有的命令提示符窗口?这肯定会消除您正在输出的错误消息(除非它也正在被记录-在这种情况下,为什么要将它打印到您要关闭的窗口?)。
这是特定于windows的,但在windows资源管理器中创建快捷方式 java -jar MyJarFile.jar 或者 java MyCompiledClass 你想要什么?关于这种方法的说明可以在这里找到。

kzmpq1sx

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

希望这有帮助:)

相关问题