标签: system.exit

系统差异.Java中的exit(0),System.exit(-1),System.exit(1)

我想知道Java中的以下内容之间的区别

System.exit(0);
System.exit(-1);
System.exit(1);
Run Code Online (Sandbox Code Playgroud)

我何时必须适当使用上述代码?

java system.exit

274
推荐指数
5
解决办法
40万
查看次数

Java的System.exit()如何与try/catch/finally块一起使用?

我知道涉及在try/catch/finally块中返回的令人头痛的问题 - finally中的返回始终是方法的返回,即使try或catch块中的返回应该是执行的返回.

但是,同样适用于System.exit()?例如,如果我有一个try块:

try {
    //Code
    System.exit(0)
}
catch (Exception ex) {
    //Log the exception
}
finally {
    System.exit(1)
}
Run Code Online (Sandbox Code Playgroud)

如果没有异常,将调用哪个System.exit()?如果exit是return语句,则System.exit(1)行将始终(?)被调用.但是,我不确定退出的行为是否与返回不同.

代码处于极端情况下,即使不是不可能,也很难重现,因此我无法编写单元测试.我今天晚些时候会尝试进行一项实验,如果我得到一些免费的分钟,但我很好奇,也许有人知道答案,可以提供它,或者我无法运行实验.

java try-catch-finally system.exit

74
推荐指数
3
解决办法
9万
查看次数

在Java中的程序退出上运行代码

是否可以编写System.exit在终止程序时将调用的方法?

java exit-code system.exit

33
推荐指数
2
解决办法
3万
查看次数

android中的System.exit()

我知道不应该使用system.exit(0).我已经阅读了很多教程,并说明为什么不建议退出应用程序和finish()是一个更好的选择,但在非常罕见的情况下使用这个脏的解决方法比我的主要问题是 它会损害Android设备或任何方面设备如果使用?

android system.exit

9
推荐指数
1
解决办法
4656
查看次数

Android是否关心传递给System.exit(...)的退出状态代码?

如果我杀了一个Android应用程序System.exit(...),我传递的状态代码是否重要?我找不到任何关于Android是否会忽略它的文档,或者某些文档是否会导致任何错误消息或具有任何其他含义.

java android exit-code system.exit

9
推荐指数
1
解决办法
2785
查看次数

System.exit(0)和System.exit(-1)之间的区别

能否之间的任何一个份额,我差System.exit(0)System.exit(-1)它是有益的,如果你用例子来解释.

java exit system.exit

6
推荐指数
1
解决办法
3万
查看次数

System.exit()结果无法执行finally块

我正在努力 My application's under maintanace module

try {
    if (isUndermaintanace) {
        System.exit(1);
    } else {
        prepareResources();
    }           
} catch (Exception e) {
    printStack(e);
} finally {
    cleanResources();
}
Run Code Online (Sandbox Code Playgroud)

当我通过 isundermaintanace true 最后没有执行.

我错过了什么?还有其他办法吗?

java try-catch-finally system.exit

6
推荐指数
1
解决办法
6862
查看次数

Android:完成应用程序/活动后显示吐司

我想在退出应用程序时显示一个简单的toast.问题是,没有显示吐司.我认为这是因为活动完成或因为System.exit(0),但我不知道如何解决它.有人有小费吗?谢谢!!

在我的活动中,我有以下代码:

Toast.makeText(this,"Exit application.",Toast.LENGTH_SHORT).show();
exitApp();

public void exitApp (){
  App.getInstance().exit();
  finish();
}
Run Code Online (Sandbox Code Playgroud)

App中的mehod退出:

public void exit() {
   System.exit(0);
}
Run Code Online (Sandbox Code Playgroud)

android toast system.exit

5
推荐指数
1
解决办法
8529
查看次数

如何只退出我的子程序,而不是整个VM?

我有一个Java swing启动程序来启动另一个类(运行它的main方法).每个程序都有取消按钮退出自己.

System.exit(0);按下这个取消按钮时使用.

启动程序执行此操作actionPerformed:

if (source==carMenuItem) {
    ta.append("Car launched\n");
    TestCar.main(par);

}
if (source==DialogboxMenuItem) {
    ta.append("Dialogbox launched\n");            
    DialogBox.main(par);
}        
if (source==LengthConversionMenuItem) {
    ta.append("LengthConversion launched\n");            
    LengthConversion.main(par);           
}
Run Code Online (Sandbox Code Playgroud)

当我按下程序的取消按钮时,它也会关闭我的启动程序.我该如何避免这种情况?

java exit system.exit

5
推荐指数
1
解决办法
660
查看次数

如何防止关闭钩子死锁?

我在@Tej Kiran 看到了一个问题,这正是我的问题,但没有回答,最后的评论说:

"你知道你的应用程序中是否注册了任何关闭钩子,或者你使用的任何库是否有一个关闭钩子?关闭钩子是一个线程,如果该线程中有一个死锁导致它永远不会终止,JVM永远不会退出."

我的程序中有一个方法shutdown hook

Runtime.getRuntime().addShutdownHook(new Thread("Shutdown Hook") {
    @Override
    public void run() {

        System.out.println("---------------");
        System.out.printf("%d threads running%n", Thread.activeCount());

        Map<Thread, StackTraceElement[]> threads = Thread
                .getAllStackTraces();
        for (Entry<Thread, StackTraceElement[]> e : threads.entrySet()) {
            Thread t = e.getKey();

            System.out.printf("%s\t%s\t%s%n", t.getName(),
                    t.isDaemon(), t.isAlive());

            StackTraceElement[] elements = e.getValue();

            for (StackTraceElement trc : elements) {
                System.out.println("\t" + trc);
            }
        }

        System.out.println("---------------");

        try {UIUtil.cancelAllTasks();} catch (Throwable e) {e.printStackTrace();};

        try {mehad.io.port.ScannerManager.disableAutoHandshake();} catch (Throwable e) {e.printStackTrace();};

        try {mehad.io.port.ComPortInterface.getInstance().close();} catch (Throwable e) {e.printStackTrace();};

        try {
            if …
Run Code Online (Sandbox Code Playgroud)

java multithreading runtime system.exit

5
推荐指数
1
解决办法
519
查看次数

如何在巨大的Java项目中捕获System.exit()代码?

我正在进入一个需要一些自动审查工具的项目.上周我们System.exit()在代码中找到了一些关闭应用服务器的内容.

似乎FindBugs没有捕获System.exit().还有其他工具可以捕捉System.exit()到我可以从日食中运行吗?

java findbugs system.exit

1
推荐指数
1
解决办法
761
查看次数

system.exit()在Java中的用途在哪里?

看来return status code从你的角度来看的一种方式main.但我想知道这int是怎么回事?我在eclipse上尝试过,但是我没有在控制台上看到它.我怎么得到的status code

public static void main(String[] args){
         int status = 123;
          System.exit(status);
     }
Run Code Online (Sandbox Code Playgroud)

java program-entry-point exit system.exit

0
推荐指数
1
解决办法
1312
查看次数