字符串与异常处理.doc
文本预览下载声明
实 HYPERLINK /edzycs/archive/2010/04/15/318416.html 验一 字符串和异常处理
【开发语言及实现平台或实验环境】
Windows2000 或XP,JDK1.5以上版本与Eclipse集成开发环境
【实验目的】
1.了解Java 中字符串和异常处理(exception)的作用。
2.掌握字符串操作、异常处理的设计方法。
【实验要求】
理解系统异常处理的机制和定义异常的方法。
【知识要点】
1.错误与异常
在程序执行期间,会有许多意外的事件发生。例如,程序申请内存时没有申请到、对象还未创建就被使用、死循环等,称为运行错误。根据错误的性质将运行错误分为错误与异常两种类型。
(1)错误
程序进入了死循环或内存溢出,这类现象称为错误或致命性错误。错误只能在编程阶段解决,运行时程序本身无法解决,只能依靠其它程序干预,否则会一直处于一种不正常的状态。
(2)异常
运算时除数为0,或操作数超出数据范围,打开一个文件时发现文件不存在,网络连接中断等等,这类运行错误现象称为异常。对于异常情况,可在源程序中加入异常处理代码,当程序出现异常时,由异常处理代码调整程序运行流程,使程序仍可正常运行直到正常结束。
由于异常是可以检测和处理的,所以产生了相应的异常处理机制。而错误处理一般由系统承担。
对于一个应用软件,异常处理机制是不可缺少的。程序员必须在程序中考虑每一个可能发生的异常情况并进行处理,以保证程序在任何情况下都能正常运行。事实证明,一个仔细设计了异常处理的程序,可以长时间的可靠运行,而不容易发生致命的错误,如程序被迫关闭、甚至系统终止等等。所以学会进行异常情况处理对于想编写功能完善且具有实用价值的程序员来说是必不可少的。
2.异常发生的原因
(1)Java 虚拟机检测到了非正常的执行状态,这些状态可能是由以下几种情况引起的:
·表达式的计算违反了Java 语言的语义,例如整数被0 除。
·在载入或链接Java 程序时出错。
·超出了某些资源限制,例如使用了太多的内存。
(2)Java 程序代码中的throw 语句被执行。
(3)异步异常发生。异步异常的原因可能有:
·Thread 的stop 方法被调用。
·Java 虚拟机内部错误发生。
3.异常处理机制
发生异常后,怎么处理异常呢?Java 提供了异常处理机制来处理异常。分为两个步骤:
(1)抛出异常
Java 是这样规定的:当语义限制被违反时,将会抛出(throw)异常,即产生一个异常事件,生成一个异常对象,并把它提交给运行系统,再由运行系统寻找相应的代码来处理异常。一个异常对象可以由Java 虚拟机来产生,也可以由运行的方法生成。异常对象中包含了异常事件类型、程序运行状态等必要信息。
(2)捕获异常
异常抛出后,运行时系统从生成异常对象的代码开始,沿方法的调用栈进行查找,直到找到包含相应处理的方法代码,并把异常对象交给该方法为止,这个过程称为捕获(catch)异常。
简单说异常处理机制就是:当语义限制被违反时,将会抛出异常对象,并将引起程序流程从异常发生点转移到程序员指定的处理异常方法代码处进行异常处理。
4.了解异常对象的类型
在异常发生后,系统会产生一个异常事件,生成一个异常对象,有哪些异常对象呢?这些异常对象来自哪些类呢?
Java 中的异常类具有层次结构组织。其中,Throwable 类是Error 错误类和Exception 异常类的父类,它是Object 的直接子类。RuntimeException 运行时异常类是Exception 异常类的子类。如图所示。
1.Exception 异常类的子类
(1)RuntimeException 运行时异常类,主要包括以下异常子类:
·ArithmeticException 算术异常类:表示遇到了异常的算术问题,例如被0 整除。
·ArrayStoreException 数组下标越界异常类:试图把与数组类型不相符的值存人数组。
·ClassCastException 类型强制转换异常类:试图把一个对象的引用强制转换为不合适的类型。
·IndexOutOfBoundsException 下标越界异常类:下标越界。
·NullPointerException 空指针异常类:试图使用一个空的对象引用。
·SecurityException 违背安全原则异常类:检测到了违反安全的行为。
(2)NoSuchMethodException 方法未找到异常
(3)java.awt.AWTException 图形界面异常类
(4)java.io.IOException 输入输出异常类
·IOException:申请I/O 操作没有正常完成。
·EOFException:在输入操作正常结束前遇到了文件结
显示全部