首页
|
互联网
|
IT动态
|
IT培训
|
Cisco
|
Windows
|
Linux
|
Java
|
.Net
|
Oracle
|
软件测试
|
C/C++
|
嵌入式开发
|
存储世界
|
服务器
网络设备
|
IDC
|
安全
|
求职招聘
|
数字网校
|
笔记本电脑
|
北大青鸟
|
技术专题
|
电子书下载
|
教学视频
|
源码下载
|
搜索
|
博客
|
论坛
输入您的搜索字词
提交搜索表单
首页
资讯动态
认证考试
新手入门
核心技术
高级技术
J2EE
J2ME
Java&XML
开源技术
其他技术
RSS订阅
论坛
专题
您现在的位置:
中国IT实验室
>>
Java
>>
核心技术
>>
高级编程
>> 正文
Java编程中异常处理的特殊情况
ChinaItLab
xiaoyuer
2007-4-29
保存本文
推荐给好友
收藏本页
欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入
1、不能在finally块中执行return,continue等语句,否则会把异常“吃掉”;
2、在try,catch中如果有return语句,则在执行return之前先执行finally块
请大家下面的例子:
public
class
TryTest {
public
static
void
main(
String
[] args) {
try
{
System
.out.println(TryTest.test());
// 返回结果为true其没有任何异常
}
catch
(
Exception
e) {
System
.out.println(
"Exception from main"
);
e.printStackTrace();
}
doThings(0);
}
public
static
boolean
test()
throws
Exception
{
try
{
throw
new
Exception
(
"Something error"
);
// 第1步.抛出异常
}
catch
(
Exception
e) {
// 第2步.捕获的异常匹配(声明类或其父类),进入控制块
System
.out.println(
"Exception from e"
);
// 第3步.打印
return
false
;
// 第5步. return前控制转移到finally块,执行完后再返回(这一步被吃掉了,不执行)
}
finally
{
return
true
;
// 第4步. 控制转移,直接返回,吃掉了异常
}
}
public
static
void
doThings(
int
i)
{
try
{
if
(i==0)
{
//在执行return之前会先执行finally
return
;
}
int
t=100/i;
System
.out.println(t);
}
catch
(
Exception
ex)
{
ex.printStackTrace();
}
finally
{
System
.out.println(
"finally"
);
}
}
}
【责编:Peng】
相关文章
Java操作Microsoft Word之jacob
Java和Flash之间的战争
关于Java产生随机数代码
浅谈Java中正则表达式的优化方法
Java将数字字符串转换成中文形式?
Java图形用户界面设计
Java+Oracle应用开发中的几个经典问题
Java的DBC接口设计
Java判断字符串是否为空的三种方法
Sun为Java而战,并非孤军奋战
编辑推荐
· [
网络编程
]
Java进阶:Java编写通过代理访问的应用程序
· [
Spring
]
浅谈Struts+Hibernate+Spring的整合方法
· [
其他技术
]
JavaFX 深入浅出(一)富客户端应用程序 RIAs
· [
SwingAwtApplet
]
Sun和Java Swing 2.0的故事
· [
SwingAwtApplet
]
Java Swing也惊艳之二:环环相套
· [
其他技术
]
JavaFX重装上阵 加强Web领域开发
· [
基础入门
]
必备的 Java 参考资源列表
· [
其他技术
]
初探Java企业级开源框架OSGi
· [
高级编程
]
Java代码的静态编译和动态编译中的问题比较
· [
核心技术
]
透视Java手机终端技术发展
相关产品和培训
文章评论
友情推荐链接
·
Asp源码
PHP源码
·
CGI源码
JSP源码
·
建站书籍教程
·
服务器软件
.net源码
·
建站工具软件
·
IDC资讯大全
·
机房品质万里行
·
IDC托管必备知识
·
网站推广优化
·
全国IDC报价
认证培训
专题推荐
·
Oracle外键及外键约束修改行为
·
开源软件测试工具学习专题
·
JSP Web开发 入门基础到高手进阶教程
·
JavaFX—是Java桌面的新希望么?
·
安全至上 .NET开发安全策略
·
测试用例设计之道-测试用例学习专题
·
面向Java开发人员的Scala指南
·
Java设计模式之实例详解
·
Oracle数据库11g 面向DBA和开发人员的重要新特性
·
桌面应用软件编程 J2SE技术详解
今日更新
·
Java进阶:Java编写通过代理访问的应用程序
·
Java进行并发多连接socket编程
·
Struts核心标签
·
Java多线程初学者指南(6):慎重使用volatile关键字
·
Java操作Microsoft Word之jacob
·
JAVA里面方法调用时传对象参数的陷阱
·
Eclipse插件扩展IBM Lotus Symphony
·
EclipseRiena1.0发布:基于Eclipse富客户端平台
·
新工具使Eclipse成为Silverlight IDE
·
使用Eclipse开发J2ME手机应用程序
社区讨论
博客论点
频道精选
·
新版CCNA考试大纲 07年8月1日生效
·
新手学习宝典:Linux常用命令全集
·
知已知彼,深入了解系统安全知识
·
从入门到精通 java初学者实践系列教程
·
共同学习——Oracle入门基础专题
·
ADO.net与PowerBuilder的综合比较
·
评论:中国互联网“钱”途何在?
·
中科院:龙芯要成"中国奔腾" 能卖1亿颗
Java 频道导航
新手入门
:
安装配置
|
开发工具
|
JDK
|
oop面向对象
核心技术
:
SwingAwtApplet
|
高级编程
|
网络编程
Jvm技术
|
JavaMedia
高级技术
:
设计模式
|
UML/OO
|
p2p/Jxta
|
多线程
|
JavaSecurity
J2EE
:
J2ee核心
|
Servlet/Jsp
|
EJB
|
JDBC/JDO
|
Rmi/Corba/Jini
|
Mvcwea
|
应用服务器
J2ME
:
核心技术
|
嵌入式
|
无线开发
Java&XML
:
XMLBeans
|
WebServices
开源技术
:
ANT
|
Struts
|
Hibernate
|
Spring
Eclipse
|
JBoss
|
Tomcat
|
JUnit
其他技术