Java语言异常处理学习笔记续
来源:互联网 发布:网站域名注册证书 编辑:程序博客网 时间:2024/05/22 10:48
前一篇写的几个程序让我们知道了如果框架中出现退出程序的语句异常处理机制是如何运行的,那么如果框架中出现return语句结果又如何呢?
public class TryCatch{
public static void main(String[] args) {
try{
int i = 1/0;
return ;
} catch(Exception e) {
System.out.println("exception");
} finally {
System.out.println("finally");
}
}
}
运行结果:
可以看出跟前面的结果一样,发生异常的语句后的语句不会被执行,而是直接到catch中去匹配
public class TryCatch{
public static void main(String[] args) {
try{
int i = 1/0;
} catch(Exception e) {
System.out.println("exception");
return ;
} finally {
System.out.println("finally");
}
}
}
运行结果:
我们将异常代码移入另一个方法中:
public class TryCatch{
public static void main(String[] args) {
new TryCatch().test();
}
int test() {
try{
int i = 1/0;
} catch(Exception e) {
System.out.println("exception");
return 0;
} finally {
System.out.println("finally");
}
}
}
其结果:
可以看出在catch代码块中出现return语句时程序并不会退出,而是继续执行,直到finally,那么再试一下
public class TryCatch{
public static void main(String[] args) {
System.out.println("" + new TryCatch().test());
}
int test() {
int result=0;
try{
int i = 1/0;
} catch(Exception e) {
System.out.println("exception");
result=1;
return result;
} finally {
System.out.println("finally");
result=2;
}
System.out.println("return");
return result;
}
}
运行结果:
从上面可以看出,finally代码块依旧被执行,但是返回值却是catch中的值,至于为什么,个人理解是return语句只能执行一次,之后的操作无论怎么改变变量的值都影响不到已返回的值,除非在finally中还存在return语句,这时才能改变已返回的值
public class TryCatch{
public static void main(String[] args) {
System.out.println("" + new TryCatch().test());
}
int test() {
int result=0;
try{
int i = 1/0;
} catch(Exception e) {
System.out.println("exception");
result=1;
return result;
} finally {
System.out.println("finally");
result=2;
return result;
}
//System.out.println("return");//这两句必须注释掉,否则编译不通过,提示访问不到的语句
//return result;
}
}
运行结果:
具体怎么回事只能等到深入理解JVM之后才能知道了,暂时先记着吧
- Java语言异常处理学习笔记续
- Java语言异常处理学习笔记
- java 异常处理学习笔记
- java学习笔记 异常处理
- Java学习笔记(异常处理)
- 学习java异常处理笔记
- java异常处理学习笔记
- Java学习笔记--------异常处理
- 【Java学习笔记】异常处理
- 《Java异常处理》学习笔记
- Java学习笔记--异常处理
- 【Java学习笔记】异常处理
- java学习笔记---java异常处理
- java学习笔记----java异常处理
- java学习笔记-java异常处理机制
- 【Java】学习笔记——异常处理
- JAVA学习笔记(一)---异常处理
- 黑马程序员--学习笔记--Java异常处理
- hdu 1063 Exponentiation
- 网站测试小工具
- android TWEEN的四种动画
- 黑马程序员——类,访问修饰符,属性,构造方法,命名空间,类图,params
- Mac和PC在工作中管理的对比(1)
- Java语言异常处理学习笔记续
- u盘安装ubuntu server系统
- vim 配置(window下的)
- 自适应Canny算法的C++实现[与Matlab的效果非常相近]
- explode
- Mac和PC在工作中管理的对比(2)
- openfire 配置IP
- 时间类。静态成员应用
- .NET 开源工作流引擎Slickflow介绍