本论文是一篇参考文献类有关学术论文前言,关于Ja异常处理技术应用相关毕业论文格式范文。免费优秀的关于参考文献及程序及语句方面论文范文资料,适合参考文献论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。
摘 要 :随着系统规模的不断扩大,传统的异常处理技术已经成为创建大型可维护程序的障碍了.Ja是一种面向对象的程序设计语言,Ja的异常处理非常出色.Ja把异常封装到类里,运用“try/catch/finally”异常处理机制,最终得到的是更为“健壮”的异常处理代码.
关键字:异常处理 Ja应用
一、前言
异常是在程序运行过程中发生的非正常事件.比如:除零溢出、数组越界、内存溢出等.这些事件的发生将阻止程序的正常运行.为了加强程序的健壮性,程序设计时,必须考虑到可能发生的异常事件并做相应的处理.
传统的错误处理方法一般以判断返回值的方式处理错误,使得正常程序代码和错误代码混合在一起,给程序维护带来很大的障碍.Ja通过面向对象的方法进行异常处理,把各种不同的异常进行分类,据有良好的层次性.这种异常处理机制能将处理错误异常的代码和“常规”代码分开,使程序维护起来更加方便,同时也增强了程序的安全性和健壮性.和Ja语言的其它特性相比,异常处理显得深奥且不易掌握.因为它和Ja运行时系统密切相关,本文着重就Ja语言的异常处理机制及在程序设计中的应用作一个初步的探讨.
二、异常类的结构及组成
Ja中的Throwable(抛出)类是一个专门处理异常的类.它派生了两个子类:Error(出错)类和Exception(异常)类.Error类对象是由Ja虚拟机生成并抛出给系统.通常,Ja 程序不对错误进行处理;Exception 类对象是Ja程序抛出和处理的对象.它又分为RuntimeException(运行期间异常)、AWT Ex-ception(AWT异常)和IO Exception(输入输出异常),这三种子类分别对应于不同类型的异常.另外,用户根据需要可以自己定义异常类.
三、异常的处理
1.处理机制
Ja 中使用异常类及其子类对程序出现的各种异常事件给出了一个统一的、简单的抛出错误和处理错误的机制,可以概括为以下几个过程:
(1) 在Ja程序的执行过程中,如果出现了一个可识别的的错误,则会生成一个与该错误相对应的异常类对象,该对象将被提交给运行时的系统,这个过程称为抛出(throw) 异常.
(2) 当Ja运行时系统接收到该异常对象后,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这个过程称为捕捉(catch)异常.
(3) 如果Ja运行时系统找不到处理异常的程序,那么它将终止程序的执行,最后调用缺省异常处理程序来处理异常.
2.两种处理办法
(1)try 语句:用来抛出并处理一个或多个异常,包括try 块,catch 块和 finally 块.
形式如下:
try
{ <语句块> //可能产生异常的代码}
catch (ExceptionType1 exceptionInstance 1)
{ <语句块> //捕获并处理 ExceptionType1 对象}
catch (ExceptionType2 exceptionInstance 2)
{ <语句块> //捕获并处理 ExceptionType2 对象}
等
catch (ExceptionTypen exceptionInstance n)
{ <语句块>//捕获并处理 ExceptionTypen 对象}
finally
{ <语句块> //执行清除工作(如关闭文件, 关闭连接等)的语句}
处理语句解释:
在Ja程序中,应把可能产生异常的语句封装在try块中,用以捕获可能发生的异常.如果try块在执行过程中引发了异常,当运行时系统接受到异常后,就会根据异常的类型搜索匹配的异常处理程序(catch块)- - - - 一个try语句允许有多个catch块,分别用于处理不同类型的异常.搜索以自上而下的方式依次对每个catch块处理的异常类型进行检测,直到找到类型相匹配的catch块,并把异常传递给该处理程序,异常就被捕获了,执行流程转向该catch块.当执行完该catch块,将跳过所有剩余的catch块,执行finally块,把方法中所有清除状态和关闭系统文件的语句放在一起,以避免代码的重复,减少出现遗漏语句的现象.如果try块在执行过程中没有引发异常,那么程序流程执行完try块后,将跳过所有的catch块,直接执行finally块.
(2)throws语句
在某些情况下,方法还暂时不能确定如何处理异常,它可以将异常进一步向上层抛出将异常处理的任务留给调用它的方法.在Ja中,在方法的头部使用throws子句指定方法向上抛出异常.
四、结束语
Ja是一种面向对象的程序设计语言,Ja的异常处理机制非常出色.Ja中的所有异常都是从基础类Throwable 里继承而来的,所以可确保我们得到的是一个通用接口.丢弃一个错误的异常后,不是象C++那样在运行期间调用一个函数,Ja异常规范是在编译期间检查并执行的.被取代的方法必须遵守那一方法的基础类的异常规范,它们可丢弃指定的异常或者从那些异常衍生出来的其他异常.这样一来,运用try/catch/finally异常处理机制,最终得到的是更为“健壮”的异常控制代码.