| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1929 人关注过本帖
标题:[求助]一个异常处理问题
只看楼主 加入收藏
meizhelan
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-6-6
收藏
 问题点数:0 回复次数:25 
[求助]一个异常处理问题

下列语句中第二个语句S2出现了一个异常,那么
try{
S1;
S2;
S3;
}catch(ExceptionType e1){}
catch(ExceptionType e2){}
S4;

问题
1:S3会执行吗?
2:如果异常未被捕获,S4会被执行吗?
3:如果catch子句捕获了异常,S4会执行吗?
请说明原因.
多谢!

搜索更多相关主题的帖子: catch 语句 try 
2006-06-17 18:34
private
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-5-1
收藏
得分:0 
1:不会,
2:不会 清除堆栈,将结束 try/catch所在的方法,由掉用该方法的块捕捉,如没有捕捉,再结束,真到main结束.
3:会

2006-06-17 18:41
水影月圆
Rank: 4
等 级:贵宾
威 望:11
帖 子:738
专家分:0
注 册:2005-8-2
收藏
得分:0 
1
如果你S1和S2没的错误的话 S3是会执行的 否则就不会 应为会直接跳到Catch语句里了

2
如果异常未被捕获,S4会执行

3
如果catch子句捕获了异常 处理完后 会从整个try/catch块下面的一行继续 也就是说 会继续执行

子非鱼,安知鱼之江湖?子非我,安知我之功夫 http://20681.
2006-06-17 19:21
meizhelan
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-6-6
收藏
得分:0 
怎么2楼的和3楼的第二题回答不一样?   那究竟是会还是不会呢?
2006-06-17 19:41
水影月圆
Rank: 4
等 级:贵宾
威 望:11
帖 子:738
专家分:0
注 册:2005-8-2
收藏
得分:0 
1
我和他回答的都一样

2
既然异常没被捕获 S4为什么不执行呢?

3捕获了 一般来说会执行的 象我说的 会从整个try/catch块下面的一行继续 但要看你catch里的语句是怎么写的了

子非鱼,安知鱼之江湖?子非我,安知我之功夫 http://20681.
2006-06-17 19:50
private
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-5-1
收藏
得分:0 
补充:
1:不会 语句中第二个语句S2出现了一个异常,就会在S2句停止执行.检查catch(){}块.
2:不会 清除堆栈,将结束 try/catch所在的方法,由掉用该方法的块捕捉,如没有捕捉,再结束,真到main结束.
3:会 如果catch子句捕获了异常 处理完后 会从整个try/catch块下面的一行继续 也就是说 会继续执行


另外: 如果有finally,那么不管有什么情况,finally{}块里的代码都要被执行.

2006-06-17 19:59
private
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-5-1
收藏
得分:0 

引用5楼话:
2
既然异常没被捕获 S4为什么不执行呢?


这是因为try/catch没有捕捉到发生的异常,则把该异常提交给他的上级处理,由上级捕捉.
如果还没有捕捉到,再提交,知道给他的顶层线程,如还不能结束此线程.



2006-06-17 20:06
水影月圆
Rank: 4
等 级:贵宾
威 望:11
帖 子:738
专家分:0
注 册:2005-8-2
收藏
得分:0 

说来说去 我们只是第2点不一样

那只有等版主来裁决了


子非鱼,安知鱼之江湖?子非我,安知我之功夫 http://20681.
2006-06-17 20:07
飘飘叶子
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:597
专家分:10
注 册:2005-8-17
收藏
得分:0 

s4是在try块外面的,所以不论是否发生异常都是会执行的,除非在处理异常时将程序结束。
在try块里面,无论哪一条语句发生异常,都是会直接跳转到catch里面进行异常处理
如果在try块里面没有发生异常,则顺序执行。


向着软件工程师的目标前进!
2006-06-17 21:00
水影月圆
Rank: 4
等 级:贵宾
威 望:11
帖 子:738
专家分:0
注 册:2005-8-2
收藏
得分:0 
那我说的还是对的嘛 没错啊

子非鱼,安知鱼之江湖?子非我,安知我之功夫 http://20681.
2006-06-17 21:08
快速回复:[求助]一个异常处理问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017178 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved