Java程序异常处理的特殊情况
2007-08-16 16:51
567 查看
1、不能在finally块中执行return,continue等语句,否则会把异常“吃掉”;
2、在try,catch中如果有return语句,则在执行return之前先执行finally块
请大家仔细看下面的例子:
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"); } } } 如果你想学习更多的技术,想挑战程序员,挑战项目经理,挑战自我~ 可以在线咨询QQ:77 9 02 01 6 58 http://www.sinojava.com 我们将竭诚为你提供最好的行业咨讯~ Vc/MFC| vc++ |软件工程培训| web应用程序|.net| c语言|股票分析|游戏开发|软件工程/管理|企业开发|专题开发/技术/项目/| Linux/Uni社区|硬件/嵌入开发|程序员杂志|开发语言|基础类|非技术类|界面|网络编程|进程/线程/DL| ATL/Activex/com|数据库|硬件|系统|HTML|XML|图形处理|算法|VISUAL C++资源|非技术类|控件|API|VBA|COM|DCOM|COM+|VB资源|VCL组件开发及应用|数据库相关|WINDOWS SDK|网络通信|分布式开发|语言基础|系统设计|GAME|VCL组件使用和开发|网络及通讯开发|BCB茶馆|汇编语言|KYLINX|脚本语言|Perl/python|office开发|其他开发语言|数据结构与算法|函数式编程|SVG|J2SE基础类|J2SE扩展类|GUI设计|WEB开发|J2EE|EJB|JMS|J2ME|WEB SERVICES|XML| 应用服务器|框架|开源|SUN JAVA认证|BORLAND JBUILDER|Intellij IDEA|ECLIPSE|NETBEANS|安全专题|架构设计|非技术区|应用性能管理|图表区|VC.NET|VB.NET|DELPHI.NET|.NET Framework|web services|j#|c#|c#buider|.net技术前瞻|.NET分析与设计|IBM人才论坛|IBM软件认证|IBM合作在线技术支持|数据仓库|VFP|ACCESS|SYBASE|SQL anywhere studio|infor mix|interbase|MYSQL|POSTGRESQL|数据库报表|VISUAL DBTOOLS|其他数据库|应用性能管理|ISS|CGL|XML|SOAP|AJAX技术|JSP|ASP|软件规划版|开发方法版|开发过程版|质量管理与控制版|管理版|休闲广场|微创软件开发管理|loushang开发平台|地理信息系统|企业信息化|行业开发|weblogic|lotus|exchange server|sap|中间件技术|英特尔多核计算技术|设计模式|人工智能技术|搜索引擎技术|多媒体/流媒体开发|游戏开发|数据结构与算法|网络通信|图形图象机器视觉|数据库应用|设计版|信息|网络安全|函数式编程|google技术社区|网页设计|图象工具使用|FLASH使用|FLASH开发|交互式设计|系统维护与使用区|程序开发区|内核及驱动程序研究区|专题技术讨论区|实用资料发布区|UNIX文化|平台开发|手机操作系统|开发应用|近距离无线技术|移动计算技术|多核计算技术|主动管理技术|OFFICE使用|一般软件使用|安全技术与病毒|网络管理配置和工具使用|VISTA|GADGETS|TIVOLI|图书讨论|二手书交易|电子版图书|选题与出版|名家线上交流|人民邮电出版社|P&c出版社|趋势科技与向让的您共勉|软件培训|IT认证|软件水平考试|IBM软件认证|SUN JAVA认证|ORACLE认证与考试|软件学院|传智博客学员交流|程序人生|IT传闻|程序员英语|清软国际培训|IBM人才论坛|程序员大本营|CELL组件、插件|人民邮电出版社|清华大学出版社|微创软件开发管理|中国软件技术大会|应用性能管理| |
相关文章推荐
- Java程序异常处理的特殊情况
- Java程序异常处理的特殊情况2
- Java程序异常处理的特殊情况
- 浅析Java程序异常处理的特殊情况
- java 异常处理的一些特殊情况
- Java - Java编程中异常处理的特殊情况
- Java异常处理中的一些特殊情况举例
- java异常处理和自定义异常利用try和catch让程序继续下去(回来自己再写个例子试运行下)
- Java编程程序异常处理方法
- Java异常处理:如何写出“正确”但被编译器认为有语法错误的程序
- Java如何将处理完异常之后的程序能够从抛出异常的地点向下执行?
- JAVA学习第十九课(java程序的异常处理 (二))
- 第八节:详细讲解Java中的异常处理情况与I/O流的介绍以及类集合框架
- Java编程程序异常处理方法
- 编写高质量代码改善java程序的151个建议——[110-117]异常及Web项目中异常处理
- 用递归算法写一段程序实现 1+2+...+1000000 、java.lang.StackOverflowError 异常,原因,bug调查,处理
- 关于六种Java异常处理程序的陋习
- java 正则匹配 特殊字符 减号- 的情况,处理方式
- java异常处理和自定义异常利用try和catch让程序继续下去
- 关于六种Java异常处理程序的陋习