finally 一定会执行(实例代码)

所属分类: 软件编程 / Java编程 阅读数: 111
收藏 0 赞 0 分享

如下所示:

class Exc{
 int a;
 int b;
}
 
 
public class Except {
 @SuppressWarnings("finally")
 static int compute (){
 Exc e = new Exc();
 e.a = 10;
 e.b = 10;
 int res = 0 ;
 try{
  res = e.a / e.b;
  System.out.println("try ……");
  return res + 1;
  
 }catch(NullPointerException e1){
  System.out.println("NullPointerException occured");
 }catch(ArithmeticException e1){
  System.out.println("ArithmeticException occured");
 }catch(Exception e3){
  System.out.println("Exception occured");
 }finally{
  System.out.println("finnaly occured");
 }
 System.out.println(res);
  
 return res+3;
 }
 
 public static void main(String[] args){
 int b = compute();
 System.out.println("mian b= "+b);
 }
}

输出:

try ……
finnaly occured
mian b= 2

结论: 如果没有异常, 则执行try 中的代码块,直到 try 中的 return,接着执行 finally 中的代码块,finally 执行完后 , 回到try 中执行 return 。退出函数。

class Exc{
 int a;
 int b;
}
 
 
public class Except {
 @SuppressWarnings("finally")
 static int compute (){
 Exc e = new Exc();
// e.a = 10;
// e.b = 10;
 int res = 0 ;
 try{
  res = e.a / e.b;
  System.out.println("try ……");
  return res + 1;
  
 }catch(NullPointerException e1){
  System.out.println("NullPointerException occured");
 }catch(ArithmeticException e1){
  System.out.println("ArithmeticException occured");
 }catch(Exception e3){
  System.out.println("Exception occured");
 }finally{
  System.out.println("finnaly occured");
 }
 System.out.println(res);
  
 return res+3;
 }
 
 public static void main(String[] args){
 int b = compute();
 System.out.println("mian b= "+b);
 }
}

输出:

ArithmeticException occured
finnaly occured
0
mian b= 3

结论: 如果try 中有异常, 则在异常语句处,跳转到catch 捕获的异常代码块, 执行完 catch 后,再执行 finally ,跳出 try{}catch{}finally{} ,继续向下执行,不会去执行try中 后面的语句。

以上这篇finally 一定会执行(实例代码)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

跟我学Java Swing之游戏设计(1)

跟我学Java Swing之游戏设计(1)
收藏 0 赞 0 分享

选择java的理由:java之父访谈实录

选择java的理由:java之父访谈实录
收藏 0 赞 0 分享

面向对象编程:Java中的抽象数据类型

面向对象编程:Java中的抽象数据类型
收藏 0 赞 0 分享

通过JDBC连接oracle数据库的十大技巧

通过JDBC连接oracle数据库的十大技巧
收藏 0 赞 0 分享

一个MIDP俄罗斯方块游戏的设计和实现

一个MIDP俄罗斯方块游戏的设计和实现
收藏 0 赞 0 分享

使用Spring来创建一个简单的工作流引擎

这篇文章主要给大家介绍了关于使用Spring来创建一个简单的工作流引擎的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Toolbar制作菜单条过程详解

Toolbar制作菜单条过程详解
收藏 0 赞 0 分享

Windows+Apache+resin配置

Windows+Apache+resin配置
收藏 0 赞 0 分享

JDK的命令详解

JDK的命令详解
收藏 0 赞 0 分享

Java中的浮点数分析

Java中的浮点数分析
收藏 0 赞 0 分享
查看更多