java异常
来源:互联网 发布:淘宝网首页砂锅手套 编辑:程序博客网 时间:2024/05/17 01:11
try 块:用于捕获异常。其后可接零个或多个catch块,如果没有catch块,则必须跟一个finally块。
catch 块:用于处理try捕获到的异常。
finally 块:无论是否捕获或处理异常,finally块里的语句都会被执行。当在try块或catch块中遇到return语句时,finally语句块将在方法返回之前被执行。在以下4种特殊情况下,finally块不会被执行:
1)在finally语句块中发生了异常。
2)在前面的代码中用了System.exit()退出程序。
3)程序所在的线程死亡。
4)关闭CPU。
测试:当在try块或catch块中遇到return语句时,finally语句块将在方法返回之前被执行。被覆盖
package demo;public class He {private static int show() {int a = 0;try {int i=1/0;} catch (Exception e) {return 1;}finally{return 2;}}public static void main(String[] args) {int a=show();System.out.println(a);//测试结果2,catch里的return被finally里的return 被覆盖。}}
链接:http://blog.csdn.net/hguisu/article/details/6155636
在博客:http://blog.csdn.net/yongh701/article/details/50057975中提到:
finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;
验证:finally是在return后面的表达式运算后执行,断点在finally里的return处
0 0
- java 异常,java,异常
- Java 异常 异常链
- Java异常
- Java 异常
- JAVA 异常
- Java异常
- java 异常
- Java异常
- java异常
- Java异常
- java异常
- java异常
- java异常
- java 异常
- java异常
- java异常
- java异常
- Java异常
- 如何使用itunes来共享iphone或者ipad中app中的log文件
- linux内核对于指令异常的处理
- python自动化之路-day13
- 《必然》
- 队列的创建、入队、出队、打印、统计队列长度
- java异常
- C#, Java 和 c++的特点,有什么相同的地方?不同的地方?C#分别从c++和java中吸取了他们那些优点?
- 转载:Java中普通代码块,构造代码块,静态代码块区别及代码示例
- java上传文件通过SFTP
- 去除小数点后多余的0
- 文件上传
- MVC Razor语法解析
- 关于elasticsearch集群节点配置
- 进制+补码+位运算+算法