Java Top.

使用Spring 5和Spring Boot 2开始,通过学习春天课程:

>>查看课程

1.概述

在本教程中,我们会看看什么system.exit.在Java中的手段。

我们将看到其目的,在哪里使用以及如何使用它。我们还会看到用不同的状态代码调用它的差异是什么。

2.什么是system.exit.

system.exit.是A.空白方法。它需要一个退出代码,它将它传递给调用脚本或程序。

的代码退出零意味着正常出口:

system.exit(0);

我们可以将任何整数作为参数传递给该方法。非零状态代码被视为异常退出。

打电话给system.exit.方法终止当前运行的JVM并退出程序。此方法不会正常返回。

这意味着后续代码system.exit.有效地无法到达然而,编译器不了解它。金宝搏官网188be

system.exit(0);system.out.println(“这条线路无法访问”);

关闭程序并不是一个好主意system.exit(0)。它为我们提供了与之退出的结果主要的方法并停止执行后续行执行,还有线程调用system.exit.块直到JVM终止。如果关闭挂钩向此线程提交任务,则会导致死锁。

3.为什么我们需要它?

典型用例system.exit.是存在异常情况,我们需要立即退出该程序。

此外,如果我们必须从主要方法以外的地方终止程序,system.exit.是实现它的一种方式。

我们什么时候需要它?

脚本依赖它调用的命令的退出代码是常见的。如果这样的命令是Java应用程序,那么system.exit.发送此退出代码是方便的。

例如,而不是抛出异常,我们可以返回一个异常的退出代码,然后可以由调用脚本解释。

或者,我们可以使用system.exit.调用我们注册的任何关闭挂钩。这些钩子可以设置为清理持有的资源,并安全地退出其他非守护进程线程。

5.一个简单的例子

在此示例中,我们尝试读取文件,如果存在,我们将从其中打印一条线。如果文件不存在,我们将退出程序system.exit.从捕捉块。

尝试{bufferedreader br =新bufferedreader(新的filereader(“file.txt”));system.out.println(br.readline());BR.CLOSE();catch(ioException e){system.exit(2);最后{system.out.println(“退出程序”);}

在这里,我们必须注意,如果找不到文件,则不会被执行。因为这system.exit.在捕获块上退出JVM,不允许最后块执行。

6.选择状态代码

我们可以传递任何整数作为状态码,但一般的做法是system.exit.使用状态代码0是正常的,其他代码是异常的出口。

请注意,这只是一个“良好的做法”,并不是编译器会关心的严格规则。金宝搏官网188be

还,当我们从命令行中调用Java程序时,值得注意的是,所考虑状态代码的命令行。

在下面的例子中,我们尝试执行时systemexitexample.class,如果通过调用它来退出JVMsystem.exit.使用非零状态代码,则以下回声不会被打印。

Java SystemExitexample && Echo“我不会被打印”

为了使我们的程序能够与其他标准工具通信,我们可能会考虑在相关系统用于通信的标准代码之后。

例如,UNIX状态代码定义128作为“无效参数退出”的标准。因此,当我们需要与操作系统通信状态代码时,使用这段代码可能是一个好主意。否则,我们可以自由选择我们的代码。

7.结论

在本教程中,我们讨论了如何system.exit.何时使用它,以及如何使用它。

这是一个很好的实践异常处理或者在使用应用程序服务器和其他常规应用程序时退出程序的普通返回报表。使用system.exit.方法适用于基于脚本的应用程序,或者在何处解释状态代码。

您可以查看本文提供的示例在GitHub

Java底部

使用Spring 5和Spring Boot 2开始,通过学习春天课程:

>>查看课程
对这篇文章的评论关闭!