下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于 Java 语言中异常的深入探析摘要: Java 语言是一种易学易用的网络设计语言,它 有简单易学、面向对象、动态性、解释执行性、多线程性、 安全性和健壮性等特点。 在众多的特点中, 笔者重点研究 Java 的健壮性。如何增强程序的健壮性?相当其它语言来说, Java 语言摒弃了指针的概念,更新了很多语言的不足,同时引进 了异常处理的机制, 让 Java 编写出来的程序具有更强的处理 和执行能力,使程序更加健壮。关键词:异常;异常处理机制;异常分类;健壮性 中图分类号: TP311 文献标识码: A 文章编号: 1009-3044(2014)15-3520-02Abstract : Jav
2、a language is a language easy to learn web design, it has easy to learn, object-oriented , dynamic , interpreted, multi-threaded , security and robustness characteristics. Among the many features , the author focuses on Javas robustness. How to enhance the robustness of the program? It is quite anot
3、her language , Java language to abandon the concept of pointers, updating a lot less than the language, while the introduction of a mechanism for exception handling , let out a program written in Java has more processing and execution capabilities to make the program more robust.Key words : exceptio
4、n ; exception handling mechanism ; abnormal classification ; robustness随着计算机行业不断发展,各类计算机语言的功能都比 之前更加强大和完善,学生学起来也更加容易。但是,大多 数语言都存在一些漏洞,众所周知,捕获漏洞最理想的时机 是在编译期间,即程序在运行之前找到错误并解决。然而在 实际的程序设计过程中,并不是所有的错误都能在编译期间 被检测发现。虽然其它语言也提供了异常处理机制,但 Java 提供了一种更加灵活和简便的异常处理机制。1 Java 语言中异常的概念异常的解释有很多种, 如郑阿奇编写的 Java 实用教程 是这
5、样诠释的。异常就是以对象的方式表示的一个或一类错 误,该异常对象不仅封装了错误的信息,还包含了错误发生 时的“上下文”信息 1 。还有张兴科编写的 Java 程序设计 项目教程中异常定义是在程序执行过程中,能够使程序正 常运行中断的条件称之为异常 2 。还有很其它的解释笔者就 不一一介绍。异常简单来说就是在程序执行期间,为了规避 一些意外事件的发生,而编写一些额外的代码来处理它们, 使程序能继续运行下去,而不至于程序中断,使整个运行瘫 痪,Java把这些意外的事件称之为异常。2 Java 语言中异常的处理机制一般来说, Java 程序在运行中如果发生异常,不进行捕 获,程序就会终止运行。 Ja
6、va 提供了一套非常灵活和简单的 异常处理机制,由 try-catch-finall 结构来处理。1) try 语句块捕获异常的第一步是用try选定捕获异常的范围,由 try 所限定的代码块中的语句在执行过程中可能会生成异常 对象并抛弃。它后面的 catch 语句块要分别对这些异常做相 应的处理。 try 语句块后通常跟 0 个或多个 catch 语句块,还 可以至多一个的 finally 语句块。2) catch 语句块每个 catch 语句块声明其能处理的一种特定类型的异常 并提供处理的方法。 当异常发生时, 程序会中止当前的流程, 根据获取异常的类型去执行相应的catch语句块。在cat
7、ch中声明的异常对象 (catch(Exception e )封装了异常事件发生 的信息,在 catch 语句块中可以使用这个对象的一些方法来 获取这些信息。当多个 catch 语句块存在时,子类异常对象 要放在父异常对象之前 .如catch( subException1 e1) catch( subException2 e2) catch( Exception1 e3) 3) finally 语句块捕获例外的最后一步是通过 finally 语句为例外处理提供 一个统一的出口,使得在控制流转到程序的其它部分以前, 能够对程序的状态作统一的管理。不论在 try 代码块中是否 发生了异常事件, f
8、inally 块中的语句都会被执行。3 Java 语言中异常的分类Java 语言把异常分为两类:必须检测异常( checked exceptions)和非检测异常( unchecked exceptions)。很多学 习异常的同学,总喜欢把这两种异常混淆不清。所谓 必须 检测异常就是在编译程序时,某句代码编译无法通过,只有 对它做异常处理,才能通过编译器的编译,这种异常就是必 须检测异常。而非检测异常则是程序在编译时不会报告错 误,但程序可能存在潜在风险。为了让学生更好的认识和掌 握这两类异常,笔者将进一步解释。3.1 必须检测异常 当声明一个方法抛出异常时,该方法可能会抛出声明的那些异常,从
9、而在程序中对这些异常加以注意和处理,如果 直接对整个方法进行异常处理。如type method_name( parameter_list) throws exception_list/方法体 当该方法被调用时就会产生编译时错误,此时产生的就 是检测性异常。3.2 非检测异常如果不是直接对整个方法进行异常处理,而是使用try-catch-finall 结构来处理。如type method_name( parameter_list) try方法体 catch ( subException1 e1) catch( subException2 e2) catch( Exception1 e3) 当该方
10、法被调用时就不会产生编译时错误,此时产生的 就是非检测性异常。3.3 两种异常的转换现在以对三角形合法性判断为例,定义异常和实现检测 性和非检测性的互换操作。首先自定义定义三角形异常类然后应用该类定义一个判断合法三角形的方法,并抛出 异常对象时,当在主方法中调用该方法时就出现了编译时错 误。这就是检测性异常的产生。如果做下面改动,结果就会变成非检测性异常。从上面例子可以直观了解这两种异常的区别和实现过 程,因此在做程序时,完全可以由设计者根据具体的需要, 来控制异常的类型。使编程变得更加灵活,方便。4 小结 作为程序设计者来说,不光是能设计出用户需要的功 能,同时也有让设计的程序更加的健壮,异常的学习可以让 程序设计者在这方面做到游刃
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 遗嘱抚养协议书
- 销毁委托协议书
- 苹果开发协议书
- 2025-2026学年安徽省合肥市高一化学上册期中考试试卷及答案
- 2025年湘教版七年级历史上册月考考试试题及答案
- 工程施工承包协议书
- 老年医学科老年人多系统功能障碍护理指南
- 2025版贫血症状解读与营养护理
- 疼痛病人护理评估
- 职场幽默自我介绍
- 2025至2030中国航空货运行业运行分析有效策略与实施路径评估报告
- TCCTAS 195-2025 民航客票销售搜索服务数据接口规范 第1部分:国内运价搜索
- 抗衰老植物干细胞技术行业跨境出海项目商业计划书
- CJ/T 94-2005饮用净水水质标准
- 净化板材料安装合同协议书
- T/CBMCA 054-2024水密性铝合金窗
- 心血管-肾脏-代谢综合征(CKM)综合管理中国专家共识2025解读课件
- 重症监护病房新生儿皮肤管理指南(2021)解读
- 房屋放弃份额协议书
- 999中药配方颗粒
- 无创机械通气试题及答案
评论
0/150
提交评论