Java程序的终止是指程序的执行完成,也就是说,当程序执行完毕后,它就会自动退出。在Java中,有两种方式可以终止一个程序:一是使用System.exit()方法;二是使用return语句。
System.exit()方法 System.exit()方法是Java中最常用的一种方式来终止一个程序。它可以接受一个整数参数,这个整数参数代表了返回值。如果不传入任何参数,那么默认返回值就是0。 // 示例代码 public static void main(String[] args) { System.out.println("Hello World!"); System.exit(1); // 终止并返回1 }
return语句 return语句也是一种常用的方式来终止一个Java程序。它不能接受任何参数,而且必须在函数内部使用。当return语句被执行时,函数将立即退出并返回到调用者处。如果return语句不带任何返回值,则默认返回null值。
// 示例代码 public static void main(String[] args) { System.out.println("Hello World!"); return; // 立即退出并返回null值 }
try
块也可以有零个或一个 finally
块。 finally
块总是与 try
块一起使用。
使用 finally
块的语法是
finally {
// Code for finally block
}
finally
块以关键字 finally
开始,后面紧跟一对大括号。
finally
块的代码放在大括号内。
try
,catch
和 finally
块有两种可能的组合: try - catch - finally
或 try - finally
。
try
块可以后跟零个或多个 catch
块。
try
块最多可以有一个 finally
块。
try
块必须有一个 catch
块,一个 finally
块,或者两者兼而有之。
try-catch-finally
块的语法是:
try {
// Code for try block
}
catch(Exception1 e1) {
// Code for catch block
}
finally {
// Code for finally block
}
try - finally
块的语法是:
try {
// Code for try block
}
finally {
// Code for finally block
}
无论在相关联的 try
和 /
或 catch
块中发生什么,finally
块都被保证被执行。
通常,我们使用 finally
块来写清理代码。
例如,我们可能获得一些资源,当我们完成它们时,必须释放。
try - finally
块允许你实现这个逻辑。
您的代码结构将如下所示:
try {
// Obtain and use some resources here
}
finally {
// Release the resources that were obtained in the try block
}
下面的代码演示了 finally
块的使用。
public class Main {
public static void main(String[] args) {
int x = 10, y = 0, z = 0;
try {
System.out.println("Before dividing x by y.");
z = x / y;
System.out.println("After dividing x by y.");
} catch (ArithmeticException e) {
System.out.println("Inside catch block a.");
} finally {
System.out.println("Inside finally block a.");
}
try {
System.out.println("Before setting z to 2.");
z = 2;
System.out.println("After setting z to 2.");
}
catch (Exception e) {
System.out.println("Inside catch block b.");
} finally {
System.out.println("Inside finally block b.");
}
try {
System.out.println("Inside try block c.");
}
finally {
System.out.println("Inside finally block c.");
}
try {
System.out.println("Before executing System.exit().");
System.exit(0);
System.out.println("After executing System.exit().");
} finally {
// This finally block will not be executed
// because application exits in try block
System.out.println("Inside finally block d.");
}
}
}
上面的代码生成以下结果。
捕获的异常可以重新引用。
public class Main {
public static void main(String[] args) {
try {
m1();
} catch (MyException e) {
// Print the stack trace
e.printStackTrace();
}
}
public static void m1() throws MyException {
try {
m2();
} catch (MyException e) {
e.fillInStackTrace();
throw e;
}
}
public static void m2() throws MyException {
throw new MyException("An error has occurred.");
}
}
class MyException extends Exception {
public MyException() {
super();
}
public MyException(String message) {
super(message);
}
public MyException(String message, Throwable cause) {
super(message, cause);
}
public MyException(Throwable cause) {
super(cause);
}
}
上面的代码生成以下结果。
Java日期时间方法在 Java Date-Time API 中的方法名称尽可能在类之间保持一致。例如, now 方法返回当前时刻的日期或时间值。fro...
Java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。Java.io 包中的流支持很多种格式,比如...
Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型...
Java支持三种注释方式。前两种分别是// 和,第三种被称作说明注释,它以结束。 说明注释允许你在程序中嵌入关于程序的信息。你可...
Java 8 Optional 类 Java 8 新特性Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()...