本文概述
Java finally块是用于执行重要代码(例如关闭连接, 流等)的块。
无论是否处理异常, 总是执行Java finally块。
Java finally块遵循try或catch块。
注意:如果不处理异常, 则在终止程序之前, JVM将执行finally块(如果有)。
为什么最后使用Java
- Java中的finally块可用于放置“清理”代码, 例如关闭文件, 关闭连接等。
使用Java finally块
让我们看看可以使用java finally块的不同情况。
情况1
让我们看看不发生异常的java finally示例。
class TestFinallyBlock{
public static void main(String args[]){
try{
int data=25/5;
System.out.println(data);
}
catch(NullPointerException e){System.out.println(e);}
finally{System.out.println("finally block is always executed");}
System.out.println("rest of the code...");
}
}
立即测试
Output:5
finally block is always executed
rest of the code...
情况二
让我们看一下java finally示例, 其中发生异常且未处理异常。
class TestFinallyBlock1{
public static void main(String args[]){
try{
int data=25/0;
System.out.println(data);
}
catch(NullPointerException e){System.out.println(e);}
finally{System.out.println("finally block is always executed");}
System.out.println("rest of the code...");
}
}
立即测试
Output:finally block is always executed
Exception in thread main java.lang.ArithmeticException:/ by zero
情况3
让我们看一下java finally示例, 其中发生并处理了异常。
public class TestFinallyBlock2{
public static void main(String args[]){
try{
int data=25/0;
System.out.println(data);
}
catch(ArithmeticException e){System.out.println(e);}
finally{System.out.println("finally block is always executed");}
System.out.println("rest of the code...");
}
}
立即测试
Output:Exception in thread main java.lang.ArithmeticException:/ by zero
finally block is always executed
rest of the code...
评论前必须登录!
注册