本文概述
- 为什么最后使用Java
- 使用Java finally块
无论是否处理异常, 总是执行Java finally块。
Java finally块遵循try或catch块。
文章图片
注意:如果不处理异常, 则在终止程序之前, JVM将执行finally块(如果有)。 为什么最后使用Java
- Java中的finally块可用于放置“清理”代码, 例如关闭文件, 关闭连接等。
情况1
让我们看看不发生异常的java finally示例。
class TestFinallyBlock{
public static void main(String args[]){
try{
int data=http://www.srcmini.com/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=http://www.srcmini.com/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=http://www.srcmini.com/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...");
}
}
【Java finally块】立即测试
Output:Exception in thread main java.lang.ArithmeticException:/ by zero
finally block is always executed
rest of the code...
规则:对于每个try块, 可以有零个或多个catch块, 但只有一个finally块。 注意:如果程序退出(通过调用System.exit()或导致导致进程中止的致命错误), 则不会执行finally块。
推荐阅读
- 在Applet中显示图形
- Java异常传播
- Java中方法重写的异常处理
- 如何修复显示器屏幕变黑几秒钟(解决办法指南)
- esentutl.exe提示和指南(它是什么、用途、命令行)
- 什么是WD Discovery.exe(安全还是病毒、用途以及如何删除)
- 学习语言的20大Duolingo替代方案(最佳语言学习软件)
- Findstr.exe提示和指南(它是什么,用途,命令行)
- Wevtutil.exe进程指南(它是什么&命令行介绍)