今天来分析下java 中Exception的处理方式,我们都知道,它执行的顺序如下:
1. try:检查是否有异常发生;
2. 如果有,则由catch来捕获;
3. 不管是否有异常发生,都会进入到finally里执行。
先记住下面的结论:
1. throw 后面的代码是不会执行的。
2. 不管是否有异常,都会执行finally。
3. 不管有多少个return, 只会执行finally里的return。
例1.
public class Demo {
public static int doexception(){
try{
return 1;
}catch(Exception e){
System.out.println("catch exception");
return 0;
}finally{
System.out.println("finally ....");
}
}
public static void main(String args[]){
System.out.println("return value:"+doexception());
}
}
输出结果:
finally ....
return value:1
例2.
public class Demo {
public static int doexception(){
try{
throw new Exception("aaa");
}catch(Exception e){
System.out.println("catch exception");
return 0;
}finally{
System.out.println("finally ....");
}
}
public static void main(String args[]){
System.out.println("return value:"+doexception());
}
}
输出结果:
catch exception
finally ....
return value:0
例3.
public class Demo {
public static int doexception(){
try{
throw new Exception("aaa");
}catch(Exception e){
System.out.println("catch exception");
return 0;
}finally{
System.out.println("finally ....");
return 1;
}
}
public static void main(String args[]){
System.out.println("return value:"+doexception());
}
}
输出结果:
catch exception
finally ....
return value:1
分享到:
相关推荐
catch(java.lang.Exception ex) { ex.printStackTrace(); } } } 实例2如下: //import com.microsoft.*; //注意:在java与sql server 连接时不需要这个包,其他书上说这个包是必需的,这个问题有待进一步...
我们以Jive的ForumFactory为例,这个例子在前面的Singleton模式中我们讨论过,现在再讨论其工厂模式: public abstract class ForumFactory { private static Object initLock = new Object(); private static ...
本文不打算讨论如何编写 Flex 界面,而是把重点放在如何实现远程调用。 为了能在 Flex 中实现远程调用,我们需要定义一个 RemoteObject 对象。可以通过 ActionScript 编码创建该对象,也可以直接在 MXML 中定义一个...
本文不打算讨论如何编写 Flex 界面,而是把重点放在如何实现远程调用。 为了能在 Flex 中实现远程调用,我们需要定义一个 RemoteObject 对象。可以通过 ActionScript 编码创建该对象,也可以直接在 MXML 中定义一...
配置MSSQL数据源连接步骤 [很卡,设置下了分辨率了] ...涉及所有关于java方面的编程均可讨论 本人目前涉及MYSQL ORACLE LINUX AJAX SSH XML....... 好了,教程就到这,88 本人邮箱:zhuseahui@yahoo.com.cn
所以很少存在简单重复的工作,加上Java 代码的精炼性和面向对象纯洁性(设计模式是 java 的灵魂),编程工作将变成一个让你时刻 体验创造快感的激动人心的过程. 为能和大家能共同探讨"设计模式",我将自己在学习中的心得...
如前所述,我是一个狮子座男人,一度我认为学习Java会使我看起来与众不同,可是几个月以后我放弃了这个选择,我看了论坛里关于这两种语言孰优孰劣的讨论,最终选择了C#,请不要问我为何做出这样的选择,很多人认为...